/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2000-2019 Ericsson Telecom AB // // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v2.0 // which accompanies this distribution, and is available at // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html /////////////////////////////////////////////////////////////////////////////// // // File: ISUP_Mapping.ttcn // Rev: R8A // Prodnr: CNL 113 365 // Updated: 2006-05-10 // Contact: http://ttcn.ericsson.se /////////////////////////////////////////////////////////////////////////////// module ISUP_Mapping { import from MTP3asp_PortType all; import from MTP3asp_Types all; import from ISUP_Types all; group Types { type record MSC_ISUP_MTP3_parameters { MTP3_Field_sio sio, integer opc, integer dpc, integer sls } group PortTypes { //************************************************************************* //* ISUP port types * //************************************************************************* type port MTP3asp_ISUP_PT message { inout PDU_ISUP; } with {extension "internal"} type port MTC_ISUP_PT message // Coordination message { inout charstring; inout octetstring; } with {extension "internal"} }//end group PortTypes group ComponentTypes { //************************************************************************* //* ISUP Component types * //************************************************************************* type component ISUP_CT { //========================Component constants=========================== //========================Component variables=========================== var PDU_ISUP v_PDU_ISUP; //========================Component Timers-============================= //========================Component Port Declarations==================== port MTC_ISUP_PT MTC_ISUP_PORT; //up port MTP3asp_ISUP_PT MTP3_ISUP_PORT; //down } // end component type definition //************************************************************************* //* ISUP EncDec component * //************************************************************************* type component ISUP_EncDec_CT { //========================Component Port Declarations==================== port MTP3asp_ISUP_PT MTP3_ISUP_PORT; //<= SP_PT=_PT port MTP3asp_PT MTP3_PORT; } // end component type definition }//end group ComponentTypes }//end group Types //************************************************************************* //* ISUP EncDec component behaviour * //************************************************************************* function f_ISUP_EncDecComp_Behaviour ( MSC_ISUP_MTP3_parameters pl_address_ISUP ) runs on ISUP_EncDec_CT { var ASP_MTP3_TRANSFERind vl_ASP_MTP3_TRANSFERind; var PDU_ISUP vl_PDU_ISUP; pl_address_ISUP.sio.si := '0101'B; while (true) { alt { [] MTP3_ISUP_PORT.receive ( PDU_ISUP : ?) -> value vl_PDU_ISUP { MTP3_PORT.send (t_ASP_MTP3_TRANSFERreq (pl_address_ISUP.sio, pl_address_ISUP.opc, pl_address_ISUP.dpc, pl_address_ISUP.sls, enc_PDU_ISUP(vl_PDU_ISUP))); repeat; } // receive message from below (to be decoded) [] MTP3_PORT.receive (tr_ASP_MTP3_TRANSFERind_sio (pl_address_ISUP.sio.ni, ?, //priority: no filtering pl_address_ISUP.sio.si, ?, ?, ?, ? )) -> value vl_ASP_MTP3_TRANSFERind { MTP3_ISUP_PORT.send (dec_PDU_ISUP(vl_ASP_MTP3_TRANSFERind.data)); repeat; } [] MTP3_PORT.receive (t_ASP_MTP3_TRANSFERind( ?, ?, ?, ?, ? )) { log("Invalid SIO: MESSAGE dropped!!!"); } } //end of alt } // end while } // end of f_ISUP_EncDecComp_Behaviour }