def setupMobileOriginated(RepeatIndicator_presence=0,
                          BearerCapability_presence=0,
                          BearerCapability_presence1=0,
                          Facility_presence=0,
                          CallingPartySubaddress_presence=0,
                          CalledPartyBcdNumber_presence=0,
                          CalledPartySubaddress_presence=0,
                          RepeatIndicator_presence1=0,
                          LowLayerCompatibility_presence=0,
                          LowLayerCompatibility_presence1=0,
                          RepeatIndicator_presence2=0,
                          HighLayerCompatibility_presence=0,
                          HighLayerCompatibility_presence1=0,
                          UserUser_presence=0, SsVersionIndicator_presence=0,
                          ClirSuppression_presence=0,
                          ClirInvocation_presence=0,
                          CallControlCapabilities_presence=0,
                          Facility_presence1=0,
                          Facility_presence2=0):
    """SETUP Section 9.3.23.2"""
    a = TpPd(pd=0x3)
    b = MessageType(mesType=0x5)  # 00000101
    packet = a / b
    if RepeatIndicator_presence is 1:
        c = RepeatIndicatorHdr(ieiRI=0xD, eightBitRI=0x0)
        packet = packet / c
    if BearerCapability_presence is 1:
        d = BearerCapabilityHdr(ieiBC=0x04, eightBitBC=0x0)
        packet = packet / d
    if BearerCapability_presence1 is 1:
        e = BearerCapabilityHdr(ieiBC=0x04, eightBitBC=0x0)
        packet = packet / e
    if Facility_presence is 1:
        f = FacilityHdr(ieiF=0x1C, eightBitF=0x0)
        packet = packet / f
    if CallingPartySubaddress_presence is 1:
        g = CallingPartySubaddressHdr(ieiCPS=0x5D, eightBitCPS=0x0)
        packet = packet / g
    if CalledPartyBcdNumber_presence is 1:
        h = CalledPartyBcdNumberHdr(ieiCPBN=0x5E, eightBitCPBN=0x0)
        packet = packet / h
    if CalledPartySubaddress_presence is 1:
        i = CalledPartySubaddressHdr(ieiCPS=0x6D, eightBitCPS=0x0)
        packet = packet / i
    if RepeatIndicator_presence1 is 1:
        j = RepeatIndicatorHdr(ieiRI=0xD0, eightBitRI=0x0)
        packet = packet / j
    if LowLayerCompatibility_presence is 1:
        k = LowLayerCompatibilityHdr(ieiLLC=0x7C, eightBitLLC=0x0)
        packet = packet / k
    if LowLayerCompatibility_presence1 is 1:
        l = LowLayerCompatibilityHdr(ieiLLC=0x7C, eightBitLLC=0x0)
        packet = packet / l
    if RepeatIndicator_presence2 is 1:
        m = RepeatIndicatorHdr(ieiRI=0xD, eightBitRI=0x0)
        packet = packet / m
    if HighLayerCompatibility_presence is 1:
        n = HighLayerCompatibilityHdr(ieiHLC=0x7D, eightBitHLC=0x0)
        packet = packet / n
    if HighLayerCompatibility_presence1 is 1:
        o = HighLayerCompatibilityHdr(ieiHLC=0x7D, eightBitHLC=0x0)
        packet = packet / o
    if UserUser_presence is 1:
        p = UserUserHdr(ieiUU=0x7E, eightBitUU=0x0)
        packet = packet / p
    if SsVersionIndicator_presence is 1:
        q = SsVersionIndicatorHdr(ieiSVI=0x7F, eightBitSVI=0x0)
        packet = packet / q
    if ClirSuppression_presence is 1:
        r = ClirSuppressionHdr(ieiCS=0xA1, eightBitCS=0x0)
        packet = packet / r
    if ClirInvocation_presence is 1:
        s = ClirInvocationHdr(ieiCI=0xA2, eightBitCI=0x0)
        packet = packet / s
    if CallControlCapabilities_presence is 1:
        t = CallControlCapabilitiesHdr(ieiCCC=0x15, eightBitCCC=0x0)
        packet = packet / t
    if Facility_presence1 is 1:
        u = FacilityHdr(ieiF=0x1D, eightBitF=0x0)
        packet = packet / u
    if Facility_presence2 is 1:
        v = FacilityHdr(ieiF=0x1B, eightBitF=0x0)
        packet = packet / v
    return packet
def setupMobileOriginated ( RepeatIndicator_presence = 0 , BearerCapability_presence = 0 , BearerCapability_presence1 = 0 , Facility_presence = 0 , CallingPartySubaddress_presence = 0 , CalledPartyBcdNumber_presence = 0 , CalledPartySubaddress_presence = 0 , RepeatIndicator_presence1 = 0 , LowLayerCompatibility_presence = 0 , LowLayerCompatibility_presence1 = 0 , RepeatIndicator_presence2 = 0 , HighLayerCompatibility_presence = 0 , HighLayerCompatibility_presence1 = 0 , UserUser_presence = 0 , SsVersionIndicator_presence = 0 , ClirSuppression_presence = 0 , ClirInvocation_presence = 0 , CallControlCapabilities_presence = 0 , Facility_presence1 = 0 , Facility_presence2 = 0 ) : a = TpPd ( pd = 0x3 ) b = MessageType ( mesType = 0x5 ) packet = a / b if RepeatIndicator_presence is 1 : c = RepeatIndicatorHdr ( ieiRI = 0xD , eightBitRI = 0x0 ) packet = packet / c if BearerCapability_presence is 1 : d = BearerCapabilityHdr ( ieiBC = 0x04 , eightBitBC = 0x0 ) packet = packet / d if BearerCapability_presence1 is 1 : e = BearerCapabilityHdr ( ieiBC = 0x04 , eightBitBC = 0x0 ) packet = packet / e if Facility_presence is 1 : f = FacilityHdr ( ieiF = 0x1C , eightBitF = 0x0 ) packet = packet / f if CallingPartySubaddress_presence is 1 : g = CallingPartySubaddressHdr ( ieiCPS = 0x5D , eightBitCPS = 0x0 ) packet = packet / g if CalledPartyBcdNumber_presence is 1 : h = CalledPartyBcdNumberHdr ( ieiCPBN = 0x5E , eightBitCPBN = 0x0 ) packet = packet / h if CalledPartySubaddress_presence is 1 : i = CalledPartySubaddressHdr ( ieiCPS = 0x6D , eightBitCPS = 0x0 ) packet = packet / i if RepeatIndicator_presence1 is 1 : j = RepeatIndicatorHdr ( ieiRI = 0xD0 , eightBitRI = 0x0 ) packet = packet / j if LowLayerCompatibility_presence is 1 : k = LowLayerCompatibilityHdr ( ieiLLC = 0x7C , eightBitLLC = 0x0 ) packet = packet / k if LowLayerCompatibility_presence1 is 1 : l = LowLayerCompatibilityHdr ( ieiLLC = 0x7C , eightBitLLC = 0x0 ) packet = packet / l if RepeatIndicator_presence2 is 1 : m = RepeatIndicatorHdr ( ieiRI = 0xD , eightBitRI = 0x0 ) packet = packet / m if HighLayerCompatibility_presence is 1 : n = HighLayerCompatibilityHdr ( ieiHLC = 0x7D , eightBitHLC = 0x0 ) packet = packet / n if HighLayerCompatibility_presence1 is 1 : o = HighLayerCompatibilityHdr ( ieiHLC = 0x7D , eightBitHLC = 0x0 ) packet = packet / o if UserUser_presence is 1 : p = UserUserHdr ( ieiUU = 0x7E , eightBitUU = 0x0 ) packet = packet / p if SsVersionIndicator_presence is 1 : q = SsVersionIndicatorHdr ( ieiSVI = 0x7F , eightBitSVI = 0x0 ) packet = packet / q if ClirSuppression_presence is 1 : r = ClirSuppressionHdr ( ieiCS = 0xA1 , eightBitCS = 0x0 ) packet = packet / r if ClirInvocation_presence is 1 : s = ClirInvocationHdr ( ieiCI = 0xA2 , eightBitCI = 0x0 ) packet = packet / s if CallControlCapabilities_presence is 1 : t = CallControlCapabilitiesHdr ( ieiCCC = 0x15 , eightBitCCC = 0x0 ) packet = packet / t if Facility_presence1 is 1 : u = FacilityHdr ( ieiF = 0x1D , eightBitF = 0x0 ) packet = packet / u if Facility_presence2 is 1 : v = FacilityHdr ( ieiF = 0x1B , eightBitF = 0x0 ) packet = packet / v return packet
SETUP Section 9.3.23.2