| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // Copyright Test Competence Center (TCC) ETH 2012 // |
| // // |
| // The copyright to the computer program(s) herein is the property of TCC. // |
| // The program(s) may be used and/or copied only with the written permission // |
| // of TCC or in accordance with the terms and conditions stipulated in the // |
| // agreement/contract under which the program(s) have been supplied // |
| // // |
| /////////////////////////////////////////////////////////////////////////////// |
| // File: SCCP_Mapping.ttcnpp |
| // Description: SCCP <-> MTP3 dual faced port definition |
| // Rev: R6A05 |
| // Prodnr: CNL 113 341 |
| // Updated: 2012-11-05 |
| // Contact: http://ttcn.ericsson.se |
| module SCCP_Mapping |
| { |
| import from MTP3asp_Types all; |
| import from MTP3asp_PortType all; |
| import from SCCP_Types all; |
| import from SCCPasp_Types all; |
| |
| // ************************************************************************* |
| // ************************************************************************* |
| //SCCP Component related declarations |
| // ************************************************************************* |
| // ************************************************************************* |
| |
| type integer UnhandledProtocol; |
| |
| // SCCPasp_SP_PT SCCP_SP_PORT |
| //+-----------------+-----------------+ |
| //| SCCP_CT / |
| //| / |
| //+-----------------+-----------------+ |
| //MTP3asp_SCCP_PT MTP3_SCCP_PORT |
| // | |
| // |
| |
| //#ifdef USE_MTP3_DISTRIBUTOR |
| //Version to internal port |
| type port MTP3asp_SCCP_PT message |
| { |
| in PDU_SCCP; |
| out ASP_MTP3_TRANSFERreq_sccp; |
| } |
| with |
| { extension |
| "internal user MTP3asp_PT |
| out(ASP_MTP3_TRANSFERreq_sccp |
| -> ASP_MTP3_TRANSFERreq: function(f_enc_SCCP_to_MTP)) |
| in( ASP_MTP3_TRANSFERind |
| -> PDU_SCCP: function(f_dec_MTP_to_SCCP), |
| - : discard; |
| ASP_MTP3_PAUSE -> -: discard; |
| ASP_MTP3_RESUME -> -: discard; |
| ASP_MTP3_STATUS -> -: discard) |
| " |
| } |
| /*#else |
| //Version to external port |
| type port MTP3asp_SCCP_PT message |
| { |
| in PDU_SCCP; |
| in UnhandledProtocol; |
| out ASP_MTP3_TRANSFERreq_sccp; |
| } |
| with |
| { extension |
| "user MTP3asp_PT |
| out(ASP_MTP3_TRANSFERreq_sccp |
| -> ASP_MTP3_TRANSFERreq: function(f_enc_SCCP_to_MTP)) |
| in( ASP_MTP3_TRANSFERind -> |
| PDU_SCCP: function(f_dec_MTP_to_SCCP), |
| UnhandledProtocol: function(f_dec_MTP_to_UnhandledProtocol); |
| ASP_MTP3_PAUSE -> -: discard; |
| ASP_MTP3_RESUME -> -: discard; |
| ASP_MTP3_STATUS -> -: discard) |
| " |
| } |
| |
| function f_dec_MTP_to_UnhandledProtocol(in ASP_MTP3_TRANSFERind pl_in, out UnhandledProtocol pl_out) return integer |
| { |
| pl_out := 1; |
| return 0; |
| } with {extension "prototype(backtrack)" } |
| |
| #endif |
| */ |
| |
| function f_enc_SCCP_to_MTP |
| (in ASP_MTP3_TRANSFERreq_sccp pl_in, |
| out ASP_MTP3_TRANSFERreq pl_out) return integer |
| { |
| var bitstring vl_sio_bit := oct2bit(pl_in.sio); |
| var MTP3_Field_sio vl_sio_struct; |
| vl_sio_struct.ni := substr(vl_sio_bit,0,2); |
| vl_sio_struct.prio := substr(vl_sio_bit,2,2); |
| vl_sio_struct.si := substr(vl_sio_bit,4,4); |
| |
| pl_out := |
| { |
| sio := vl_sio_struct, |
| opc := pl_in.opc, |
| dpc := pl_in.dpc, |
| sls := pl_in.sls, |
| data:= enc_PDU_SCCP(pl_in.data) |
| } |
| return 0; |
| } with {extension "prototype(backtrack)" } |
| |
| function f_dec_MTP_to_SCCP |
| (in ASP_MTP3_TRANSFERind pl_in, |
| out PDU_SCCP pl_out) return integer |
| { |
| if (pl_in.sio.si != '0011'B) |
| { |
| log("The received message is not SCCP. Ignored."); |
| return 1; |
| } |
| pl_out := dec_PDU_SCCP(pl_in.data); |
| |
| return 0; |
| } with {extension "prototype(backtrack)" } |
| |
| |
| |
| } |