Commit e7a81228 authored by schmitting's avatar schmitting
Browse files

ACM group done

parent 601d34aa
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -904,6 +904,9 @@ const Bit7 c_PI_1 := '0000001'B;

/* Value 'Origination address is non-ISDN' of bit field element 'Progress description' in ISDN IE 'Progress Indicator' */
const Bit7 c_PI_3 := '0000011'B;

/* Value 'Interworking has occurred and has resulted in a telecommunication service change' of bit field element 'Progress description' in ISDN IE 'Progress Indicator' */
const Bit7 c_PI_5 := '0000101'B;
} /* end group Constants */

group Functions {
+53 −106
Original line number Diff line number Diff line
@@ -17,104 +17,79 @@ module SipIsup_ISUP_MsgTemplates

group ISUP_BICC_Messages {
group ACM {
template ACM_MSG m_ACM_MSG_Def :=
/* TX template for Address complete message (ACM) without optional parameters and default values for fixed Parameters */
template ACM_MSG m_ACM_BCI(Bit2 p_cldPstatInd) :=
/* TX template for Address complete message (ACM) with Called party status indicato (BCI) parameterized, and without optional parameters.*/
{
 msgType := '00000110'B,                                   /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 backwardCallIndicators := m_BCI_cpStatInd(p_cldPstatInd), /* Backward call indicators, F, len=2 */
 pOptional := '00000000'B,                                 /* Pointer to optional parameters. */
 optionalParameters := omit,                               /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := omit                           /* End of optional parameters, O, len=1 */
}

template ACM_MSG mw_ACM_MSG_Def :=
/* RX template for Address complete message (ACM) with 'any'-values */
{
 msgType := '00000110'B,                                /* Message Type '00000110'B */
 backwardCallIndicators := mw_BCI_PAR_v_any,            /* Backward call indicators, F, len=2 */
 pOptional := ?,                                        /* Pointer to optional parameters. */
 optionalParameters := mw_ACM_OPTIONAL_PARAMS_any,      /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B ifpresent       /* End of optional parameters, O, len=1 */
}

template ACM_MSG mw_ACM_MSG_anyOpt(template BCI_PAR_v p_BCI) :=
/* RX template for Address complete message (ACM) with 'any'-optional parameters */
template ACM_MSG m_ACM_BasicCall
					(template BCI_PAR_v p_BCI,
					 template OBCI_PAR_tlv p_OBCI,
					 template ATP_PAR_tlv p_ATP,
					 template TMU_PAR_tlv p_TMU) :=
/* TX template for Address complete message (ACM) with default BCI, OBCI, ATP and TMU parameterized and without other optional parameters.*/
{
 msgType := '00000110'B,                /* Message Type '00000110'B */
 backwardCallIndicators := p_BCI,       /* Backward call indicators, F, len=2 */
 pOptional := ?,                                        /* Pointer to optional parameters. */
 optionalParameters := mw_ACM_OPTIONAL_PARAMS_any,      /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B ifpresent       /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_CCNPI(template CCPI_PAR_tlv p_CCNPI) :=
/* TX template for Address complete message (ACM) with default BCI, CCNR possible indicator parameterized and without other optional parameters.*/
{
 msgType := '00000110'B,                                 /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,              /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, omit, omit, omit, omit, p_CCNPI, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(p_OBCI, p_ATP, omit, p_TMU, omit, omit, omit, omit, omit, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_GNI(template GNI_PAR_tlv p_GNI) :=
/* TX template for Address complete message (ACM) with default BCI, Generic notification indicator parameterized and without other optional parameters.*/
template ACM_MSG m_ACM_CDIV
					(template BCI_PAR_v p_BCI,
					 template GNI_PAR_tlv p_GNI,
					 template RNN_PAR_tlv p_RNN,
					 template CDI_PAR_tlv p_CDI,
					 template RNS_PAR_tlv p_RNS) :=
/* TX template for Address complete message (ACM) with default BCI, GNI, RNN, CDI and RNS parameterized and without other optional parameters.*/
{
 msgType := '00000110'B,                /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,                               /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, p_GNI, omit, omit, omit, omit, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B                  /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_RDNN_CDI_RDNR_GNI(template CDI_PAR_tlv p_CDI, template GNI_PAR_tlv p_GNI, template RNN_PAR_tlv p_RDNN, template RNS_PAR_tlv p_RDNR) :=
/* TX template for Address complete message (ACM) with default BCI, Call diversion information, Generic notification indicator, Redirection number and Redirection number restriction parameterized, and without other optional parameters.*/
{
 msgType := '00000110'B,                                 /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 backwardCallIndicators := p_BCI,       /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,              /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, p_GNI, p_RDNN, p_CDI, p_RDNR, omit, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, omit, omit, p_GNI, omit, p_RNN, omit, p_CDI, p_RNS, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_OBCI(template OBCI_PAR_tlv p_OBCI) :=
/* TX template for Address complete message (ACM) with default BCI, Optional Backward call Indicators parameterized and without other optional parameters.*/
template ACM_MSG m_ACM_OtherParameters
					(template BCI_PAR_v p_BCI,
					 template UUIF_PAR_tlv p_UUIF,
					 template GNI_PAR_tlv p_GNI,
					 template PCI_PAR_tlv p_PCI,
					 template CCPI_PAR_tlv p_CCPI,
					 template UNKNOWN_PAR_tlv p_UNKNOWN) :=
/* TX template for Address complete message (ACM) with BCI, GNI, UUI, CCPI, PCI and unknown parameter parameterized and without other optional parameters.*/
{
 msgType := '00000110'B,                                 /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,                               /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(p_OBCI, omit, omit, omit, omit, omit, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, p_UUIF, omit, p_GNI, omit, omit, p_PCI, omit, omit, p_CCPI, p_UNKNOWN), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B                  /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_BCI(Bit2 p_cldPstatInd) :=
/* TX template for Address complete message (ACM) with Called party status indicato (BCI) parameterized, and without optional parameters.*/
{
 msgType := '00000110'B,                                   /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_cpStatInd(p_cldPstatInd), /* Backward call indicators, F, len=2 */
 pOptional := '00000000'B,                                 /* Pointer to optional parameters. */
 optionalParameters := omit,                               /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := omit                           /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_BCI_OBCI(Bit1 p_isdnUpInd, Bit1 p_isdnAccInd, template OBCI_PAR_tlv p_OBCI) :=
/* TX template for Address complete message (ACM) with ISDN user part indicator and ISDN access indicator (BCI) parameterized, Optional Backward call Indicators parameterized and without other optional parameters.*/
template ACM_MSG mw_ACM_MSG_Def :=
/* RX template for Address complete message (ACM) with 'any'-values */
{
 msgType := '00000110'B,                                /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_subsFree(p_isdnUpInd, p_isdnAccInd), /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,                               /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(p_OBCI, omit, omit, omit, omit, omit, omit, omit), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B                  /* End of optional parameters, O, len=1 */
 backwardCallIndicators := mw_BCI_PAR_v_any,            /* Backward call indicators, F, len=2 */
 pOptional := ?,                                        /* Pointer to optional parameters. */
 optionalParameters := mw_ACM_OPTIONAL_PARAMS_any,      /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B ifpresent       /* End of optional parameters, O, len=1 */
}

template ACM_MSG m_ACM_UKNP(template UNKNOWN_PAR_tlv p_UKNP) :=
/* TX template for Address complete message (ACM) with default BCI, Optional Backward call Indicators parameterized and without other optional parameters.*/
template ACM_MSG mw_ACM_MSG_anyOpt(template BCI_PAR_v p_BCI) :=
/* RX template for Address complete message (ACM) with 'any'-optional parameters */
{
 msgType := '00000110'B,                                /* Message Type '00000110'B */
 backwardCallIndicators := m_BCI_Def,                    /* Backward call indicators, F, len=2 */
 pOptional := '00000001'B,                               /* Pointer to optional parameters. */
 optionalParameters := m_ACM_USED_OPTIONAL_PARAMS(omit, omit, omit, omit, omit, omit, p_UKNP, m_PCI_PAR_tlv_Fpar(m_ParameterInstructionIndicator_RelCall)), /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B                  /* End of optional parameters, O, len=1 */
 backwardCallIndicators := p_BCI,                       /* Backward call indicators, F, len=2 */
 pOptional := ?,                                        /* Pointer to optional parameters. */
 optionalParameters := mw_ACM_OPTIONAL_PARAMS_any,      /* SET: optional parameters of Address complete message (ACM) */
 endOfOptionalParameters := '00000000'B ifpresent       /* End of optional parameters, O, len=1 */
}

template ACM_MSG mw_ACM_UUI(template UUID_PAR_tlv p_UUI) :=
@@ -369,39 +344,11 @@ template CON_MSG mw_CON_BCI4 :=
} /* end group CON */

group COT {
template COT_MSG mw_COT_MSG_Def :=
/* RX template for Continuity message (COT) with 'Any'-values */
{
 msgType := '00000101'B,                                /* Message Type '00000101'B */
 continuityIndicators := mw_COI_PAR_v_any               /* Continuity indicators, F, len=1 */
}

template COT_MSG mw_COT_MSG_anyOpt(template COI_PAR_v p_COI) :=
/* RX template for Continuity message (CTU) with 'any'-optional parameters */
{
 msgType := '00000101'B,                                /* Message Type '00000101'B */
 continuityIndicators := p_COI                          /* Continuity indicators, F, len=1 */
}

template COT_MSG m_COT_CTI_Succ :=
template COT_MSG m_COT_MSG(template Bit1 p_cti) :=
/* TX template for Continuity message (COT) with Continuity indicators indicating continuity.*/
{
 msgType := '00000101'B,              /* Message Type '00000101'B */
 continuityIndicators := m_COI_Succ                     /* Continuity indicators, F, len=1 */
}

template COT_MSG m_COT_CTI_Fail :=
/* TX template for Continuity message (COT) with Continuity indicators indicating continuity check failure.*/
{
 msgType := '00000101'B,                                 /* Message Type '00000101'B */
 continuityIndicators := m_COI_Fail                      /* Continuity indicators, F, len=1 */
}

template COT_MSG mw_COT_CTI :=
/* RX template for Continuity message (COT) with Continuity indicators = 'continuity'. */
{
 msgType := '00000101'B,                               /* Message Type '00000101'B */
 continuityIndicators := m_COI_Succ                    /* Continuity indicators, F, len=1 */
 continuityIndicators := m_COI(p_cti) /* Continuity indicators, F, len=1 */
}
} /* end group COT */

+359 −191

File changed.

Preview size limit exceeded, changes collapsed.

+108 −96
Original line number Diff line number Diff line
@@ -146,6 +146,104 @@ with { encode "present=bytes(1,0x03)";
       encode (informationElements) "length=valueOf(getTag(""ATP_paramLen"")).toInt();"; }

/* start auxiliary types for access transport parameter (ATP) */
type record BearerCapability /* Q.931 Bearer Capability information element */
{
 Bit8 iEType ('00000100'B),         /* Information Element Type '00000100'B */
 Bit8 iELen,                        /* Information Element Length field */
 BCAP_octet3 bCAP_octet3,
 BCAP_octet4 bCAP_octet4,
 BCAP_octet5 bCAP_octet5 optional,
 BCAP_octet6 bCAP_octet6 optional,
 BCAP_octet7 bCAP_octet7 optional
}

type record BCAP_octet3
{
 Bit5 informationTransferCapability, /* Information transfer capability */
 Bit2 codingStandard,                /* Coding standard */
 Bit1 ext                            /* Extension */
}

type record BCAP_octet4
{
 Bit5 informationTransferRate, /* Information transfer rate */
 Bit2 transferMode,            /* Transfer mode */
 Bit1 ext,                     /* Extension */
 Bit8 rateMultiplier optional  /* Rate multiplier */
}

type record BCAP_octet5
{
 Bit5 userInformationLayer1Protocol, /* User information Layer 1 protocol */
 Bit2 layerIdentification ('01'B),   /* Layer identification */
 Bit1 ext,                           /* Extension */
 BCAP_octet5a bCAP_octet5a optional,
 BCAP_octet5b1 bCAP_octet5b1 optional,
 BCAP_octet5b2 bCAP_octet5b2 optional,
 BCAP_octet5c bCAP_octet5c optional,
 BCAP_octet5d bCAP_octet5d optional
}

type record BCAP_octet5a
{
 Bit5 userRate,     /* User rate */
 Bit1 negot,        /* Negotiation */
 Bit1 synch_asynch, /* Synchronous/asynchronous */
 Bit1 ext           /* Extension */
}

type record BCAP_octet5b1
{
 Bit1 spare,     /* Spare */
 Bit1 flowControlOnRx,  /* Flow control on reception (Rx) */
 Bit1 flowControlOnTx,  /* Flow control on transmission (Tx) */
 Bit1 nICOnRx,          /* Network independent Clock (NIC) on reception (Rx) */
 Bit1 nICOnTx,          /* Network independent Clock (NIC) on transmission (Tx) */
 Bit2 intermediateRate, /* Intermediate rate */ 
 Bit1 ext               /* Extension */
}

type record BCAP_octet5b2
{
 Bit1 spare,                    /* Spare */
 Bit1 inbandOutbandNegotiation, /* In-band/out-band negotiation */
 Bit1 assignorAssignee,         /* Assignor/assignee */
 Bit1 lLINegotiation,           /* Logical link identifier negotiation */
 Bit1 mode,                     /* Mode of operation */
 Bit1 multiFrameSupport,        /* Multiple frame establishment support in data link */ 
 Bit1 hdrNoHdr,                 /* rate addaption header/no header */
 Bit1 ext                       /* Extension */
}

type record BCAP_octet5c
{
 Bit3 parity,           /* Parity information */
 Bit2 numberOfDataBits, /* Number of data bits excluding parity bit if present*/
 Bit2 numberOfStopBits, /* Number of stop bits */
 Bit1 ext               /* Extension */
}

type record BCAP_octet5d
{
 Bit6 modemType,  /* Modem type */
 Bit1 duplexMode, /* Duplex mode*/
 Bit1 ext         /* Extension */
}

type record BCAP_octet6
{
 Bit5 userInformationLayer2Protocol, /* User information Layer 2 protocol */
 Bit2 layerIdentification ('10'B),   /* Layer identification */
 Bit1 ext ('1'B)                     /* Extension */
}

type record BCAP_octet7
{
 Bit5 userInformationLayer3Protocol, /* User information Layer 3 protocol */
 Bit2 layerIdentification ('11'B),   /* Layer identification */
 Bit1 ext ('1'B)                     /* Extension */
}

type record HighLayerCompatibility /* Q.931 High Layer Compatibility information element */
{
 Bit8 iEType ('01111101'B),                                         /* Information Element Type '01111101'B */
@@ -166,11 +264,11 @@ with { encode "present=bytes(1,0x7D)" }
type record LowLayerCompatibility {
 Bit8 iEType ('01111100'B), /* Information Element Type '01111100'B */
 Bit8 iELen,                /* Information Element Length field */
 LLC_octet3  octet3, 
 LLC_octet4  octet4, 
 LLC_octet5  octet5 optional, 
 LLC_octet6  octet6 optional, 
 LLC_octet7  octet7 optional 
 LLC_octet3  lLC_octet3, 
 LLC_octet4  lLC_octet4, 
 LLC_octet5  lLC_octet5 optional, 
 LLC_octet6  lLC_octet6 optional, 
 LLC_octet7  lLC_octet7 optional 
}
with { encode "present=bytes(1,0x7C)" }

@@ -284,7 +382,7 @@ type record LLC_octet7 {
 Bit8 iELen,                /* Information Element Length field */
 Bit4 location,			    /* Location */
 Bit1 spare,                /* Spare */
 Bit3 codingStandard,       /* Coding Standard */
 Bit2 codingStandard,       /* Coding Standard */
 Bit1 ext1,                 /* Extension */
 Bit7 progressDescription,  /* Progress Description */
 Bit1 ext2                  /* Extension */
@@ -337,12 +435,13 @@ with { encode "present=bytes(1,0x4D)";

type union InformationElements
{
 ISDN_IEs specificInformationElements, /* Used for HLC, LLC, PI, CDPS, CGPS and CODS */
 ISDN_IEs specificInformationElements, /* Used for BCAP, HLC, LLC, PI, CDPS, CGPS and CODS */
 octetstring anyInformationElements    /* Used for receive templates */
}

type set ISDN_IEs
{
 BearerCapability bearerCapability optional,             /* Q.931 Bearer Capability */
 HighLayerCompatibility highLayerCompatibility optional, /* Q.931 High Layer Compatibility */
 LowLayerCompatibility lowLayerCompatibility optional,   /* Q.931 Low Layer Compatibility */
 ProgressIndicator progressIndicator optional,           /* Q.931 Progress Indicator */
@@ -1642,93 +1741,6 @@ type record USIContents
 BCAP_octet6 bCAP_octet6 optional,
 BCAP_octet7 bCAP_octet7 optional
}

type record BCAP_octet3
{
 Bit5 informationTransferCapability, /* Information transfer capability */
 Bit2 codingStandard,                /* Coding standard */
 Bit1 ext                            /* Extension */
}

type record BCAP_octet4
{
 Bit5 informationTransferRate, /* Information transfer rate */
 Bit2 transferMode,            /* Transfer mode */
 Bit1 ext,                     /* Extension */
 Bit8 rateMultiplier optional  /* Rate multiplier */
}

type record BCAP_octet5
{
 Bit5 userInformationLayer1Protocol, /* User information Layer 1 protocol */
 Bit2 layerIdentification ('01'B),   /* Layer identification */
 Bit1 ext,                           /* Extension */
 BCAP_octet5a bCAP_octet5a optional,
 BCAP_octet5b1 bCAP_octet5b1 optional,
 BCAP_octet5b2 bCAP_octet5b2 optional,
 BCAP_octet5c bCAP_octet5c optional,
 BCAP_octet5d bCAP_octet5d optional
}

type record BCAP_octet5a
{
 Bit5 userRate,     /* User rate */
 Bit1 negot,        /* Negotiation */
 Bit1 synch_asynch, /* Synchronous/asynchronous */
 Bit1 ext           /* Extension */
}

type record BCAP_octet5b1
{
 Bit1 spare,     /* Spare */
 Bit1 flowControlOnRx,  /* Flow control on reception (Rx) */
 Bit1 flowControlOnTx,  /* Flow control on transmission (Tx) */
 Bit1 nICOnRx,          /* Network independent Clock (NIC) on reception (Rx) */
 Bit1 nICOnTx,          /* Network independent Clock (NIC) on transmission (Tx) */
 Bit2 intermediateRate, /* Intermediate rate */ 
 Bit1 ext               /* Extension */
}

type record BCAP_octet5b2
{
 Bit1 spare,                    /* Spare */
 Bit1 inbandOutbandNegotiation, /* In-band/out-band negotiation */
 Bit1 assignorAssignee,         /* Assignor/assignee */
 Bit1 lLINegotiation,           /* Logical link identifier negotiation */
 Bit1 mode,                     /* Mode of operation */
 Bit1 multiFrameSupport,        /* Multiple frame establishment support in data link */ 
 Bit1 hdrNoHdr,                 /* rate addaption header/no header */
 Bit1 ext                       /* Extension */
}

type record BCAP_octet5c
{
 Bit3 parity,           /* Parity information */
 Bit2 numberOfDataBits, /* Number of data bits excluding parity bit if present*/
 Bit2 numberOfStopBits, /* Number of stop bits */
 Bit1 ext               /* Extension */
}

type record BCAP_octet5d
{
 Bit6 modemType,  /* Modem type */
 Bit1 duplexMode, /* Duplex mode*/
 Bit1 ext         /* Extension */
}

type record BCAP_octet6
{
 Bit5 userInformationLayer2Protocol, /* User information Layer 2 protocol */
 Bit2 layerIdentification ('10'B),   /* Layer identification */
 Bit1 ext ('1'B)                     /* Extension */
}

type record BCAP_octet7
{
 Bit5 userInformationLayer3Protocol, /* User information Layer 3 protocol */
 Bit2 layerIdentification ('11'B),   /* Layer identification */
 Bit1 ext ('1'B)                     /* Extension */
}
/* End auxiliary types for user service information parameter (USI) */
} /* end group USI */

+2 −2
Original line number Diff line number Diff line
@@ -31,12 +31,12 @@ group SipIsup_ISUP_Defaults
	{
		// COT with Continuity Indicator parameter indicating successful continuity check is ignored
		[PX_ISUP_Isup] IsupBiccP.receive 
		   (mw_ISUP_MSG_ind(v_CircuitIdentityCode1, { cOT_MSG := mw_COT_CTI}, v_SLS))
		   (mw_ISUP_MSG_ind(v_CircuitIdentityCode1, { cOT_MSG := m_COT_MSG(c_CTI_contInd_succ)}, v_SLS))
		   {
			 repeat;
		   }
		[not PX_ISUP_Isup] IsupBiccP.receive 
		   (mw_BICC_MSG_ind(v_CallInstanceCode1, { cOT_MSG := mw_COT_CTI}))
		   (mw_BICC_MSG_ind(v_CallInstanceCode1, { cOT_MSG := m_COT_MSG(c_CTI_contInd_succ)}))
		   {
			 repeat;
		   }
Loading