wireshark/idl/parlay/mm.idl

843 lines
21 KiB
Plaintext

//Source file: mm.idl
//Date: 8 October 2004
//Mobility Interfaces and Data Types for ETSI ES 203 915-06 V1.1.1, DES/TISPAN-01005-06-OSA, Parlay 5.0
#ifndef __MM_DEFINED
#define __MM_DEFINED
#include "osa.idl"
module org {
module csapi {
module mm {
enum TpLocationPriority {
P_M_NORMAL,
P_M_HIGH
};
enum TpLocationResponseIndicator {
P_M_NO_DELAY,
P_M_LOW_DELAY,
P_M_DELAY_TOLERANT,
P_M_USE_TIMER_VALUE
};
struct TpLocationResponseTime {
TpLocationResponseIndicator ResponseTime;
TpInt32 TimerValue;
};
enum TpLocationTriggerCriteria {
P_UL_ENTERING_AREA,
P_UL_LEAVING_AREA
};
struct TpLocationTrigger {
TpFloat Longitude;
TpFloat Latitude;
TpFloat AreaSemiMajor;
TpFloat AreaSemiMinor;
TpInt32 AngleOfSemiMajor;
TpLocationTriggerCriteria Criterion;
TpDuration ReportingInterval;
};
typedef sequence <TpLocationTrigger> TpLocationTriggerSet;
enum TpLocationType {
P_M_CURRENT,
P_M_CURRENT_OR_LAST_KNOWN,
P_M_INITIAL
};
struct TpLocationRequest {
TpFloat RequestedAccuracy;
TpLocationResponseTime RequestedResponseTime;
TpBoolean AltitudeRequested;
TpLocationType Type;
TpLocationPriority Priority;
TpString RequestedLocationMethod;
};
enum TpLocationUncertaintyShape {
P_M_SHAPE_NONE,
P_M_SHAPE_CIRCLE,
P_M_SHAPE_CIRCLE_SECTOR,
P_M_SHAPE_CIRCLE_ARC_STRIPE,
P_M_SHAPE_ELLIPSE,
P_M_SHAPE_ELLIPSE_SECTOR,
P_M_SHAPE_ELLIPSE_ARC_STRIPE
};
struct TpGeographicalPosition {
TpFloat Longitude;
TpFloat Latitude;
TpLocationUncertaintyShape TypeOfUncertaintyShape;
TpFloat UncertaintyInnerSemiMajor;
TpFloat UncertaintyOuterSemiMajor;
TpFloat UncertaintyInnerSemiMinor;
TpFloat UncertaintyOuterSemiMinor;
TpInt32 AngleOfSemiMajor;
TpInt32 SegmentStartAngle;
TpInt32 SegmentEndAngle;
};
enum TpMobilityDiagnostic {
P_M_NO_INFORMATION,
P_M_APPL_NOT_IN_PRIV_EXCEPT_LST,
P_M_CALL_TO_USER_NOT_SETUP,
P_M_PRIVACY_OVERRIDE_NOT_APPLIC,
P_M_DISALL_BY_LOCAL_REGULAT_REQ,
P_M_CONGESTION,
P_M_INSUFFICIENT_RESOURCES,
P_M_INSUFFICIENT_MEAS_DATA,
P_M_INCONSISTENT_MEAS_DATA,
P_M_LOC_PROC_NOT_COMPLETED,
P_M_LOC_PROC_NOT_SUPP_BY_USER,
P_M_QOS_NOT_ATTAINABLE
};
enum TpMobilityError {
P_M_OK,
P_M_SYSTEM_FAILURE,
P_M_UNAUTHORIZED_NETWORK,
P_M_UNAUTHORIZED_APPLICATION,
P_M_UNKNOWN_SUBSCRIBER,
P_M_ABSENT_SUBSCRIBER,
P_M_POSITION_METHOD_FAILURE
};
enum TpMobilityStopScope {
P_M_ALL_IN_ASSIGNMENT,
P_M_SPECIFIED_USERS
};
struct TpMobilityStopAssignmentData {
TpAssignmentID AssignmentId;
TpMobilityStopScope StopScope;
TpAddressSet Users;
};
enum TpTerminalType {
P_M_FIXED,
P_M_MOBILE,
P_M_IP
};
struct TpUlExtendedData {
TpGeographicalPosition GeographicalPosition;
TpTerminalType TerminalType;
TpBoolean AltitudePresent;
TpFloat Altitude;
TpFloat UncertaintyAltitude;
TpBoolean TimestampPresent;
TpDateAndTime Timestamp;
TpString UsedLocationMethod;
};
typedef sequence <TpUlExtendedData> TpUlExtendedDataSet;
struct TpUserLocation {
TpAddress UserID;
TpMobilityError StatusCode;
TpGeographicalPosition GeographicalPosition;
};
struct TpUserLocationExtended {
TpAddress UserID;
TpMobilityError StatusCode;
TpUlExtendedDataSet Locations;
};
typedef sequence <TpUserLocationExtended> TpUserLocationExtendedSet;
typedef sequence <TpUserLocation> TpUserLocationSet;
typedef TpString TpLocationCellIDOrLAI;
struct TpLocationTriggerCamel {
TpBoolean UpdateInsideVlr;
TpBoolean UpdateOutsideVlr;
};
struct TpUserLocationCamel {
TpAddress UserID;
TpMobilityError StatusCode;
TpBoolean GeographicalPositionPresent;
TpGeographicalPosition GeographicalPosition;
TpBoolean TimestampPresent;
TpDateAndTime Timestamp;
TpBoolean VlrNumberPresent;
TpAddress VlrNumber;
TpBoolean LocationNumberPresent;
TpAddress LocationNumber;
TpBoolean CellIdOrLaiPresent;
TpLocationCellIDOrLAI CellIdOrLai;
};
typedef sequence <TpUserLocationCamel> TpUserLocationCamelSet;
typedef TpString TpIMEI;
typedef TpString TpNaESRD;
typedef TpString TpNaESRK;
struct TpUserLocationEmergencyRequest {
TpBoolean UserAddressPresent;
TpAddress UserAddress;
TpBoolean NaEsrdPresent;
TpNaESRD NaEsrd;
TpBoolean NaEsrkPresent;
TpNaESRK NaEsrk;
TpBoolean ImeiPresent;
TpIMEI Imei;
TpLocationRequest LocationReq;
};
enum TpUserLocationEmergencyTrigger {
P_ULE_CALL_ORIGINATION,
P_ULE_CALL_RELEASE,
P_ULE_LOCATION_REQUEST
};
struct TpUserLocationEmergency {
TpMobilityError StatusCode;
TpBoolean UserIdPresent;
TpAddress UserId;
TpBoolean NaEsrdPresent;
TpNaESRD NaEsrd;
TpBoolean NaEsrkPresent;
TpNaESRK NaEsrk;
TpBoolean ImeiPresent;
TpIMEI Imei;
TpUserLocationEmergencyTrigger TriggeringEvent;
TpBoolean GeographicalPositionPresent;
TpGeographicalPosition GeographicalPosition;
TpBoolean AltitudePresent;
TpFloat Altitude;
TpFloat UncertaintyAltitude;
TpBoolean TimestampPresent;
TpDateAndTime Timestamp;
TpString UsedLocationMethod;
};
enum TpUserStatusIndicator {
P_US_REACHABLE,
P_US_NOT_REACHABLE,
P_US_BUSY
};
struct TpUserStatus {
TpAddress UserID;
TpMobilityError StatusCode;
TpUserStatusIndicator Status;
TpTerminalType TerminalType;
};
typedef sequence <TpUserStatus> TpUserStatusSet;
exception P_REQUESTED_ACCURACY_CANNOT_BE_DELIVERED {
TpString ExtraInformation;
};
exception P_REQUESTED_RESPONSE_TIME_CANNOT_BE_DELIVERED {
TpString ExtraInformation;
};
exception P_INVALID_REPORTING_INTERVAL {
TpString ExtraInformation;
};
exception P_TRIGGER_CONDITIONS_NOT_SUBSCRIBED {
TpString ExtraInformation;
};
struct TpTriggeredStatusRequest {
TpAddressSet Users;
TpAssignmentID AssignmentID;
};
typedef sequence <TpTriggeredStatusRequest> TpTriggeredStatusRequestSet;
struct TpTriggeredStatusRequestSetEntry {
TpTriggeredStatusRequestSet Requests;
TpBoolean Final;
};
struct TpPeriodicLocationRequest {
TpAddressSet Users;
TpLocationRequest Request;
TpDuration ReportingInterval;
TpAssignmentID AssignmentID;
};
typedef sequence <TpPeriodicLocationRequest> TpPeriodicLocationRequestSet;
struct TpPeriodicLocationRequestSetEntry {
TpPeriodicLocationRequestSet Requests;
TpBoolean Final;
};
struct TpTriggeredLocationRequest {
TpAddressSet Users;
TpLocationRequest Request;
TpAssignmentID AssignmentID;
};
typedef sequence <TpTriggeredLocationRequest> TpTriggeredLocationRequestSet;
struct TpTriggeredLocationRequestSetEntry {
TpTriggeredLocationRequestSet Requests;
TpBoolean Final;
};
struct TpUserStatusIndicatorExtended {
TpUserStatusIndicator UserStatusIndicator;
TpBoolean PDPContextActive;
};
enum TpAuthStatusIndicator {
P_AUTHENTICATED_FOR_NETWORK_ONLY,
P_AUTHENTICATED_FOR_NETWORK_AND_IP_SERVICES,
P_NOT_AUTHENTICATED
};
struct TpUserInfo {
TpString UserName;
TpString Password;
};
enum TpAccessTechnology {
P_MOBILE_ACCESS_PS,
P_MOBILE_ACCESS_CS,
P_FIXED_ACCESS
};
enum TpRoamingStatus {
P_UNKNOWN_ROAMING_STATUS,
P_HOME_USER,
P_NATIONAL_ROAMING,
P_INTERNATIONAL_ROAMING,
P_OPERATOR_ROAMING
};
struct TpNetworkStatusIndicator {
TpString CountryCode;
TpString MobileNetworkCode;
TpAccessTechnology AccessTechnology;
TpRoamingStatus RoamingStatus;
};
struct TpUserStatusExtended {
TpString UserID;
TpMobilityError StatusCode;
TpUserStatusIndicatorExtended Status;
TpTerminalType TerminalType;
TpAuthStatusIndicator AuthenticationStatus;
TpNetworkStatusIndicator NetworkStatus;
TpString UserIPAddress;
TpString UserMSISDN;
TpUserInfo UserInfo;
TpString UserConnectionID;
TpString AccessPointName;
};
typedef sequence <TpUserStatusExtended> TpUserStatusExtendedSet;
typedef TpInt32 TpBindingNotificationCriteriaType;
const TpInt32 P_UB_NEW = 1;
const TpInt32 P_UB_REMOVE = 2;
const TpInt32 P_UB_UPDATE = 4;
struct TpBindingNotificationCriteria {
TpBindingNotificationCriteriaType NotificationCriteriaType;
TpAddressSet ContactAddressSet;
};
typedef sequence <TpBindingNotificationCriteria> TpBindingNotificationCriteriaSet;
enum TpBindingEntryType {
P_UB_UNDEFINED,
P_UB_EXPIRES,
P_UB_CONTACT_ADDRESS,
P_UB_PREFERENCE
};
union TpBindingEntry switch(TpBindingEntryType) {
case P_UB_EXPIRES: TpInt32 UBExpires;
case P_UB_CONTACT_ADDRESS: TpAddress UBContactAddress;
case P_UB_PREFERENCE: TpFloat UBPreference;
default: short Dummy;
};
typedef sequence <TpBindingEntry> TpBindingEntrySet;
typedef sequence <TpBindingEntrySet> TpBindingSet;
module ul {
interface IpAppUserLocation : IpInterface {
void locationReportRes (
in TpAssignmentID assignmentId,
in TpUserLocationSet locations
);
void locationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void extendedLocationReportRes (
in TpAssignmentID assignmentId,
in TpUserLocationExtendedSet locations
);
void extendedLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void periodicLocationReport (
in TpAssignmentID assignmentId,
in TpUserLocationExtendedSet locations
);
void periodicLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpUserLocation : IpService {
TpAssignmentID locationReportReq (
in IpAppUserLocation appLocation,
in TpAddressSet users
)
raises (TpCommonExceptions,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
TpAssignmentID extendedLocationReportReq (
in IpAppUserLocation appLocation,
in TpAddressSet users,
in TpLocationRequest request
)
raises (TpCommonExceptions,P_APPLICATION_NOT_ACTIVATED,P_REQUESTED_ACCURACY_CANNOT_BE_DELIVERED,P_REQUESTED_RESPONSE_TIME_CANNOT_BE_DELIVERED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
TpAssignmentID periodicLocationReportingStartReq (
in IpAppUserLocation appLocation,
in TpAddressSet users,
in TpLocationRequest request,
in TpDuration reportingInterval
)
raises (TpCommonExceptions,P_INVALID_REPORTING_INTERVAL,P_REQUESTED_ACCURACY_CANNOT_BE_DELIVERED,P_REQUESTED_RESPONSE_TIME_CANNOT_BE_DELIVERED,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
void periodicLocationReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
TpPeriodicLocationRequestSetEntry getNextPeriodicLocationRequest (
in TpBoolean reset
)
raises (TpCommonExceptions);
};
interface IpAppTriggeredUserLocation : IpAppUserLocation {
void triggeredLocationReport (
in TpAssignmentID assignmentId,
in TpUserLocationExtended location,
in TpLocationTriggerCriteria criterion
);
void triggeredLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpTriggeredUserLocation : IpUserLocation {
TpAssignmentID triggeredLocationReportingStartReq (
in IpAppTriggeredUserLocation appLocation,
in TpAddressSet users,
in TpLocationRequest request,
in TpLocationTriggerSet triggers
)
raises (TpCommonExceptions,P_REQUESTED_ACCURACY_CANNOT_BE_DELIVERED,P_REQUESTED_RESPONSE_TIME_CANNOT_BE_DELIVERED,P_TRIGGER_CONDITIONS_NOT_SUBSCRIBED,P_UNKNOWN_SUBSCRIBER,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
void triggeredLocationReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
TpTriggeredLocationRequestSetEntry getNextTriggeredLocationRequest (
in TpBoolean reset
)
raises (TpCommonExceptions);
};
};
module ulc {
interface IpAppUserLocationCamel : IpInterface {
void locationReportRes (
in TpAssignmentID assignmentId,
in TpUserLocationCamelSet locations
);
void locationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void periodicLocationReport (
in TpAssignmentID assignmentId,
in TpUserLocationCamelSet locations
);
void periodicLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void triggeredLocationReport (
in TpAssignmentID assignmentId,
in TpUserLocationCamel location,
in TpLocationTriggerCamel criterion
);
void triggeredLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpUserLocationCamel : IpService {
TpAssignmentID locationReportReq (
in IpAppUserLocationCamel appLocationCamel,
in TpAddressSet users
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
TpAssignmentID periodicLocationReportingStartReq (
in IpAppUserLocationCamel appLocationCamel,
in TpAddressSet users,
in TpDuration reportingInterval
)
raises (TpCommonExceptions,P_INVALID_REPORTING_INTERVAL,P_UNKNOWN_SUBSCRIBER,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
void periodicLocationReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
TpAssignmentID triggeredLocationReportingStartReq (
in IpAppUserLocationCamel appLocationCamel,
in TpAddressSet users,
in TpLocationTriggerCamel trigger
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_APPLICATION_NOT_ACTIVATED,P_INFORMATION_NOT_AVAILABLE,P_INVALID_INTERFACE_TYPE);
void triggeredLocationReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
TpPeriodicLocationRequestSetEntry getNextPeriodicLocationRequest (
in TpBoolean reset
)
raises (TpCommonExceptions);
TpTriggeredLocationRequestSetEntry getNextTriggeredLocationRequest (
in TpBoolean reset
)
raises (TpCommonExceptions);
};
};
module ule {
interface IpAppUserLocationEmergency : IpInterface {
void emergencyLocationReport (
in TpAssignmentID assignmentId,
in TpUserLocationEmergency location
);
void emergencyLocationReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpUserLocationEmergency : IpService {
TpAssignmentID emergencyLocationReportReq (
in IpAppUserLocationEmergency appEmergencyLocation,
in TpUserLocationEmergencyRequest request
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
TpAssignmentID subscribeEmergencyLocationReports (
in IpAppUserLocationEmergency appEmergencyLocation
)
raises (TpCommonExceptions,P_INVALID_INTERFACE_TYPE);
void unSubscribeEmergencyLocationReports (
in TpAssignmentID assignmentId
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
};
};
module us {
interface IpAppUserStatus : IpInterface {
void statusReportRes (
in TpAssignmentID assignmentId,
in TpUserStatusSet status
);
void statusReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void triggeredStatusReport (
in TpAssignmentID assignmentId,
in TpUserStatus status
);
void triggeredStatusReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void extendedStatusReportRes (
in TpAssignmentID assignmentId,
in TpUserStatusExtendedSet status
);
void extendedStatusReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
void extTriggeredStatusReport (
in TpAssignmentID assignmentId,
in TpUserStatusExtended status
);
void extTriggeredStatusReportErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpUserStatus : IpService {
TpAssignmentID statusReportReq (
in IpAppUserStatus appStatus,
in TpAddressSet users
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
TpAssignmentID triggeredStatusReportingStartReq (
in IpAppUserStatus appStatus,
in TpAddressSet users
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
void triggeredStatusReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
TpTriggeredStatusRequestSetEntry getNextTriggeredStatusRequest (
in TpBoolean reset
)
raises (TpCommonExceptions);
TpAssignmentID extendedStatusReportReq (
in IpAppUserStatus appStatus,
in TpAddressSet users
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
TpAssignmentID extTriggeredStatusReportingStartReq (
in IpAppUserStatus appStatus,
in TpAddressSet users
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
void extTriggeredStatusReportingStop (
in TpMobilityStopAssignmentData stopRequest
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
};
};
module ub {
interface IpAppUserBinding : IpInterface {
TpBindingSet triggeredBindingRequestNotification (
in TpAssignmentID assignmentId,
in TpAddress address,
in TpBindingSet contactInformation
);
void triggeredBindingRequestNotificationStartErr (
in TpAssignmentID assignmentId,
in TpMobilityError cause,
in TpMobilityDiagnostic diagnostic
);
};
interface IpUserBinding : IpService {
TpAssignmentID triggeredBindingRequestNotificationStartReq (
in IpAppUserBinding appStatus,
in TpAddressSet users,
in TpBindingNotificationCriteriaSet criteria
)
raises (TpCommonExceptions,P_UNKNOWN_SUBSCRIBER,P_INFORMATION_NOT_AVAILABLE,P_APPLICATION_NOT_ACTIVATED,P_INVALID_INTERFACE_TYPE);
void triggeredBindingRequestNotificationStop (
in TpAssignmentID assignmentId
)
raises (TpCommonExceptions,P_INVALID_ASSIGNMENT_ID);
};
};
};
};
};
#endif