-- Module Call-Object-Class-Definitions (Q.2981:12/1999)
-- See also ITU-T Q.2981 (12/1999)
-- See also the index of all ASN.1 assignments needed in this document

Call-Object-Class-Definitions {itu-t recommendation q 2981
  call-object-class-definitions(5)} DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

EXPORTS
  call, localPartyEP, remotePartyEP, directCallAssociation,
    remoteCallAssociation, serviceComponent, BearerId;

IMPORTS
  CALLCONTROLOBJECTCLASS
    FROM Call-Control-Object-Super-Class {itu-t recommendation q 2981
      call-control-object-super-class(4)}
  PresentedAddressScreened, PartyNumber, PartySubaddress
    FROM Addressing-Data-Elements {itu-t recommendation q 932
      addressing-data-elements(7)};

ccObjectClasses OBJECT IDENTIFIER ::=
  {itu-t recommendation q 2981 cc-object-classes(6)}

call CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT
    SEQUENCE {localPEPId                ObjectReferenceId,
              remotePEPId               ObjectReferenceId,
              serviceReference          ObjectReferenceId OPTIONAL,
              directCallAssociationIds  ObjectReferenceIdList,
              remoteCallAssociationIds  ObjectReferenceIdList OPTIONAL,
              bearerIdList              BearerIdList OPTIONAL,
              telecomsServiceType       TelecomsServiceType,
              callPermissions           OpenCall}
  IDENTIFIER  {ccObjectClasses  1}
}

ObjectReferenceId ::= INTEGER(-2147483648..2147483647) -- 4 octets
                             

-- refers to an object reference, unique to each object within a call
ObjectReferenceIdList ::= SEQUENCE OF ObjectReferenceId

BearerIdList ::= SEQUENCE OF BearerId

BearerId ::= OCTET STRING(SIZE (1..3))

OpenCall ::= BIT STRING {
  reserved(7), externalPartyAddAllowed(6), existingPartyAddAllowed(5),
  notifyAllPartiesFlag(4), notifyOwnerFlag(3), permissionRequiredFlag(2),
  addConnectionAllowed(1), addServiceComponentAllowed(0)}

TelecomsServiceType ::= ENUMERATED {
  realtimeMultiMedia(0), nonRealtimeMultiMedia(1), unspecified(2), ...
  }

localPartyEP CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT    PartyObjectArgument
  IDENTIFIER  {ccObjectClasses  2}
}

remotePartyEP CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT    PartyObjectArgument
  IDENTIFIER  {ccObjectClasses  3}
}

PartyObjectArgument ::= SEQUENCE {
  partyAddress
    SEQUENCE {presentedAddressScreened  PresentedAddressScreened,
              defaultAddress            DefaultAddress OPTIONAL,
              networkInternalAddress    NetworkInternalAddress OPTIONAL
  },
  partyOwnerPEPId           ObjectReferenceId,
  associatedResourcePEPIds  ObjectReferenceIdList OPTIONAL,
  associatedPEPIds          ObjectReferenceIdList OPTIONAL,
  partyType
    ENUMERATED {initiator(0), receiver(1), callOwner(2), ...
                },
  partyStatus
    ENUMERATED {confirmed(0), virtual(1), alerting(2), ...
                }
}

DefaultAddress ::= OCTET STRING(SIZE (1..21))

NetworkInternalAddress ::= OCTET STRING(SIZE (1..21))

directCallAssociation CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT    SEQUENCE {remotePEPId  ObjectReferenceId}
  IDENTIFIER  {ccObjectClasses  4}
}

remoteCallAssociation CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT
    SEQUENCE {localPEPId   ObjectReferenceId,
              remotePEPId  ObjectReferenceId}
  IDENTIFIER  {ccObjectClasses  5}
}

serviceComponent CALLCONTROLOBJECTCLASS ::= {
  ARGUMENT
    SEQUENCE {callPEPId                             ObjectReferenceId,
              serviceComponentCharacteristics
                ServiceComponentCharacteristics OPTIONAL,
              communicationConfiguration
                CommunicationConfiguration OPTIONAL,
              serviceTrafficDescriptorRequirements
                ServiceTrafficDescriptorRequirements OPTIONAL,
              serviceComponentQoSRequirements
                ServiceQoSRequirements OPTIONAL,
              associatedServiceModuleId             ObjectReferenceId OPTIONAL,
              associatedResourceComponentId         ObjectReferenceId OPTIONAL
  }
  IDENTIFIER  {ccObjectClasses  6}
}

ServiceComponentCharacteristics ::= OCTET STRING

CommunicationConfiguration ::= ENUMERATED {
  source(0), sink(1), biDirectional(2), ...
  }

ServiceTrafficDescriptorRequirements ::= OCTET STRING

ServiceQoSRequirements ::= OCTET STRING

END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D