aboutsummaryrefslogtreecommitdiff
path: root/csta/source-files/asn1-source/status-reporting.asn1
blob: 583a4270792a57ac55995ac63a2b498246a2a781 (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
CSTA-status-reporting
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) status-reporting( 126) }

DEFINITIONS ::=
BEGIN

EXPORTS
MonitorObject, MonitorCrossRefID, MonitorFilter, MonitorType,
MonitorMediaClass,SnapshotCallData, SnapshotDeviceData,RegistrationTypeList,RegistrationList,
MonitorList,LocationSessionInfoList;

IMPORTS
CallControlEvents, CallAssociatedEvents, MediaAttachmentEvents,
PhysicalDeviceFeatureEvents, LogicalDeviceFeatureEvents,
DeviceMaintenanceEvents, VoiceUnitEvents, VendorSpecEvents
FROM CSTA-application-context-information-csta3
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
 		standard( 0) csta3( 285) application-context-information( 200) }
ServicesPermitted, LocationInfoList, CallLinkageData FROM CSTA-call-control
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) call-control(130) }
CSTAObject FROM CSTA-switching-function-objects
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) switching-function-objects( 122) }
DeviceID, SubjectDeviceID FROM CSTA-device-identifiers
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) device-identifiers( 123) }
ConnectionID FROM CSTA-call-connection-identifiers
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) call-connection-identifiers( 124) }
LocalConnectionState FROM CSTA-connection-states
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) connection-states( 125) }
ConnectionInformation, MediaCallCharacteristics, MediaServiceType,
MediaServiceInstanceID, MediaStreamID FROM CSTA-media-services
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) media-services( 136) }
LocCrossRefID FROM CSTA-device-feature-types
	{ iso( 1) identified-organization( 3) icd-ecma( 12)
		standard( 0) csta3( 285) device-feature-types( 127) };

MonitorObject ::= CSTAObject

MonitorCrossRefID ::= [APPLICATION 21] IMPLICIT OCTET STRING

MonitorFilter ::= SEQUENCE-- default is no filter (i.e. all events)
{	callControl 			[0] IMPLICIT CallControlEvents 			DEFAULT { },
	callAssociated 			[6] IMPLICIT CallAssociatedEvents 		DEFAULT { },
	mediaAttachment 		[7] IMPLICIT MediaAttachmentEvents 		DEFAULT { },
	physicalDeviceFeature 		[8] IMPLICIT PhysicalDeviceFeatureEvents 	DEFAULT { },
	logicalDeviceFeature 		[9] IMPLICIT LogicalDeviceFeatureEvents 	DEFAULT { },
	maintenance 			[3] IMPLICIT DeviceMaintenanceEvents 		DEFAULT { },
	voiceUnit 			[5] IMPLICIT VoiceUnitEvents 			DEFAULT { },
	private 			[4] IMPLICIT VendorSpecEvents 			DEFAULT { } }

-- setting the relevant bit requests the filter for the appropriate events

MonitorType ::= ENUMERATED
{	 call 				(0),
	 device 			(1) }

MonitorList ::= SEQUENCE OF MonitorListEntry

MonitorListEntry ::= SEQUENCE
{	monitorCrossRefID		MonitorCrossRefID,
	monitorObject			DeviceID }

RegistrationTypeList ::= SEQUENCE OF RegistrationType

RegistrationType ::= ENUMERATED
{	escapeRegister			(1),
	ioRegister			(2),
	routeRegister			(3),
	sysStatRegister			(4) }

RegistrationList ::= SEQUENCE OF RegistrationListEntry

RegistrationListEntry ::= SEQUENCE
{	registrationType		RegistrationType,
	registrationID			IA5String,
	registrationObject		DeviceID		OPTIONAL }

LocationSessionInfoList ::= SEQUENCE OF LocationSessionListEntry

LocationSessionListEntry ::= SEQUENCE
{	locCrossRefID			LocCrossRefID,
	locDevice			DeviceID }

MonitorMediaClass ::= BIT STRING
{ 	voice 				( 0),
	data 				( 1),
	image 				( 2),
	audio 				( 4),
	other 				( 3),
	notKnown 			( 5),
	chat				( 6),
	email				( 7),
	message				( 8),
	im				( 9),
	sms				(10),
	mms				(11) }

SnapshotDeviceData ::= [APPLICATION 22] IMPLICIT SEQUENCE OF SnapshotDeviceResponseInfo

SnapshotDeviceResponseInfo ::= SEQUENCE
{	connectionIdentifier		ConnectionID,
	endpointDevice			[3] IMPLICIT SubjectDeviceID 		OPTIONAL,
	localCallState			CallState,
	servicesPermitted 		[0] IMPLICIT ServicesPermitted 		OPTIONAL,
	mediaServiceInfoList 		[1] IMPLICIT DeviceMediaInfoList 	OPTIONAL,
	mediaCallCharacteristics	[2] IMPLICIT MediaCallCharacteristics 	OPTIONAL,
	callLinkageData 		[4] IMPLICIT CallLinkageData 		OPTIONAL }

DeviceMediaInfoList ::= SEQUENCE OF SEQUENCE
{ 	mediaStreamID			MediaStreamID				OPTIONAL,
	connectionInformation 		ConnectionInformation 			OPTIONAL }

SnapshotCallData ::= [APPLICATION 23] IMPLICIT SEQUENCE OF SnapshotCallResponseInfo

SnapshotCallResponseInfo ::= SEQUENCE
{ 	deviceOnCall 			SubjectDeviceID,
	callIdentifier 			ConnectionID 				OPTIONAL,
	localConnectionState 		LocalConnectionState 			OPTIONAL,
	servicesPermitted 		[0] IMPLICIT ServicesPermitted 		OPTIONAL,
	mediaServiceInfoList 		[1] IMPLICIT CallMediaInfoList		OPTIONAL,
	locationInfo	 		[2] IMPLICIT LocationInfoList		OPTIONAL }

CallMediaInfoList ::= SEQUENCE OF SEQUENCE
{ 	mediaServiceType 		[0] IMPLICIT MediaServiceType,
	mediaServiceVersion 		[1] IMPLICIT INTEGER 			OPTIONAL,
	mediaServiceInstance 		[2] IMPLICIT MediaServiceInstanceID	OPTIONAL,
	mediaStreamID 			[3] IMPLICIT MediaStreamID 		OPTIONAL,
	connectionInformation 		[4] IMPLICIT ConnectionInformation 	OPTIONAL }

CallState ::= CHOICE
{	compoundCallState 		[0] IMPLICIT CompoundCallState,
	simpleCallState 		[1] IMPLICIT SimpleCallState,
	unknown 			[2] IMPLICIT NULL }

CompoundCallState ::= SEQUENCE OF LocalConnectionState

SimpleCallState ::= ENUMERATED
{ 	callNull 			(  0), 	-- ‘00’H 		- null-null
	callPending 			(  1), 	-- ‘01’H 		- null-initiate
	callOriginated 			(  3), 	-- ‘03’H 		- null-connect
	callDelivered 			( 35), 	-- ‘23’H 		- alerting-connect
	callDeliveredHeld 		( 36), 	-- ‘24’H 		- alerting-held
	callReceived 			( 50), 	-- ‘32’H 		- connect-alerting
	callEstablished 		( 51), 	-- ‘33’H 		- connect-connect
	callEstablishedHeld 		( 52), 	-- ‘34’H 		- connected-held
	callReceivedOnHold 		( 66), 	-- ‘42’H 		- held-alerting
	callEstablishedOnHold 		( 67), 	-- ‘43’H 		- held-connect
	callQueued 			( 83), 	-- ‘53’H 		- queued-connect
	callQueuedHeld 			( 84), 	-- ‘54’H 		- queued-held
	callFailed 			( 99), 	-- ‘63’H 		- failed-connect
	callFailedHeld 			(100), 	-- ‘64’H 		- failed-held
	callBlocked 			( 96) }	-- ‘60’H 		- failed-null }


-- This represents the main call states in a simplified encoding. The semantics
-- are identical to the sequence of connection states but they are represented by
-- an item from an enumerated list.

END -- of CSTA-status-reporting