-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
MAP-SupplementaryServiceOperations {itu-t identified-organization(4) 
  etsi(0) mobileDomain(0) gsm-Network(1) modules(3)
  map-SupplementaryServiceOperations(8) version8(8)} DEFINITIONS ::=
BEGIN

EXPORTS
  registerSS, eraseSS, activateSS, deactivateSS, interrogateSS,
    processUnstructuredSS-Request, unstructuredSS-Request,
    unstructuredSS-Notify, registerPassword, getPassword,
    ss-InvocationNotification, registerCC-Entry, eraseCC-Entry;

IMPORTS
  OPERATION
    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
      remote-operations(4) informationObjects(5) version1(0)}
  systemFailure, dataMissing, unexpectedDataValue, unknownSubscriber,
    bearerServiceNotProvisioned, teleserviceNotProvisioned, callBarred,
    illegalSS-Operation, ss-ErrorStatus, ss-NotAvailable,
    ss-SubscriptionViolation, ss-Incompatibility, pw-RegistrationFailure,
    negativePW-Check, numberOfPW-AttemptsViolation, unknownAlphabet, 
    ussd-Busy, absentSubscriber, illegalSubscriber, illegalEquipment,
    shortTermDenial, longTermDenial, facilityNotSupported
    FROM MAP-Errors {itu-t identified-organization(4) etsi(0) mobileDomain(0)
      gsm-Network(1) modules(3) map-Errors(10) version8(8)}
  RegisterSS-Arg, SS-Info, SS-ForBS-Code, InterrogateSS-Res, USSD-Arg,
    USSD-Res, Password, GuidanceInfo, SS-InvocationNotificationArg,
    SS-InvocationNotificationRes, RegisterCC-EntryArg, RegisterCC-EntryRes,
    EraseCC-EntryArg, EraseCC-EntryRes
    FROM MAP-SS-DataTypes {itu-t identified-organization(4) etsi(0)
      mobileDomain(0) gsm-Network(1) modules(3) map-SS-DataTypes(14)
      version8(8)}
  SS-Code
    FROM MAP-SS-Code {itu-t identified-organization(4) etsi(0) mobileDomain(0)
      gsm-Network(1) modules(3) map-SS-Code(15) version8(8)};

-- supplementary service handling operations
registerSS OPERATION ::= { --Timer m
  ARGUMENT  RegisterSS-Arg
  RESULT    SS-Info
  -- optional
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue |
      bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
      illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility}
  CODE      local:10}

eraseSS OPERATION ::= { --Timer m
  ARGUMENT  SS-ForBS-Code
  RESULT    SS-Info
  -- optional
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue |
      bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
      illegalSS-Operation | ss-ErrorStatus}
  CODE      local:11}

activateSS OPERATION ::= { --Timer m
  ARGUMENT  SS-ForBS-Code
  RESULT    SS-Info
  -- optional
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue |
      bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
      illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation |
      ss-Incompatibility | negativePW-Check | numberOfPW-AttemptsViolation}
  CODE      local:12}

deactivateSS OPERATION ::= { --Timer m
  ARGUMENT  SS-ForBS-Code
  RESULT    SS-Info
  -- optional
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue |
      bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
      illegalSS-Operation | ss-ErrorStatus | ss-SubscriptionViolation |
      negativePW-Check | numberOfPW-AttemptsViolation}
  CODE      local:13}

interrogateSS OPERATION ::= { --Timer m
  ARGUMENT  SS-ForBS-Code
  RESULT    InterrogateSS-Res
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue |
      bearerServiceNotProvisioned | teleserviceNotProvisioned | callBarred |
      illegalSS-Operation | ss-NotAvailable}
  CODE      local:14}

processUnstructuredSS-Request OPERATION ::= { --Timer 10 minutes
  ARGUMENT  USSD-Arg
  RESULT    USSD-Res
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | unknownAlphabet |
      callBarred}
  CODE      local:59}

unstructuredSS-Request OPERATION ::= { --Timer ml
  ARGUMENT  USSD-Arg
  RESULT    USSD-Res
  -- optional
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | absentSubscriber |
      illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy}
  CODE      local:60}

unstructuredSS-Notify OPERATION ::= { --Timer ml
  ARGUMENT       USSD-Arg
  RETURN RESULT  TRUE
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | absentSubscriber |
      illegalSubscriber | illegalEquipment | unknownAlphabet | ussd-Busy}
  CODE           local:61}

registerPassword OPERATION ::= { --Timer ml
  ARGUMENT  SS-Code
  RESULT    Password
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | callBarred |
      ss-SubscriptionViolation | pw-RegistrationFailure | negativePW-Check |
      numberOfPW-AttemptsViolation}
  LINKED    {getPassword}
  CODE      local:17}

getPassword OPERATION ::= { --Timer m
  ARGUMENT  GuidanceInfo
  RESULT    Password
  CODE      local:18}

ss-InvocationNotification OPERATION ::= { --Timer m
  ARGUMENT  SS-InvocationNotificationArg
  RESULT    SS-InvocationNotificationRes
  -- optional
  ERRORS    {dataMissing | unexpectedDataValue | unknownSubscriber}
  CODE      local:72}

registerCC-Entry OPERATION ::= { --Timer m
  ARGUMENT  RegisterCC-EntryArg
  RESULT    RegisterCC-EntryRes
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | callBarred |
      illegalSS-Operation | ss-ErrorStatus | ss-Incompatibility |
      shortTermDenial | longTermDenial | facilityNotSupported}
  CODE      local:76}

eraseCC-Entry OPERATION ::= { --Timer m
  ARGUMENT  EraseCC-EntryArg
  RESULT    EraseCC-EntryRes
  ERRORS
    {systemFailure | dataMissing | unexpectedDataValue | callBarred |
      illegalSS-Operation | ss-ErrorStatus}
  CODE      local:77}

END

