From 78474ae3e2962326535e631aff68ce04b9e735fb Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 7 Feb 2011 20:48:41 +0100 Subject: re-structure SS7 code and MGW NAT code into separate modules This repository now only contains the SS7 code --- include/sccp.hrl | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 include/sccp.hrl (limited to 'include/sccp.hrl') diff --git a/include/sccp.hrl b/include/sccp.hrl new file mode 100644 index 0000000..b445495 --- /dev/null +++ b/include/sccp.hrl @@ -0,0 +1,103 @@ + +% Table 1 / Q.713 - SCCP Message Types +-define(SCCP_MSGT_CR, 1). % Connection request +-define(SCCP_MSGT_CC, 2). % Connection confirm +-define(SCCP_MSGT_CREF, 3). % Connection refused +-define(SCCP_MSGT_RLSD, 4). % Released +-define(SCCP_MSGT_RLC, 5). % Release complete +-define(SCCP_MSGT_DT1, 6). % Data form 1 +-define(SCCP_MSGT_DT2, 7). % Data form 2 +-define(SCCP_MSGT_AK, 8). % Data acknowledgement +-define(SCCP_MSGT_UDT, 9). % Unitdata +-define(SCCP_MSGT_UDTS, 10). % Unitdata service +-define(SCCP_MSGT_ED, 11). % Expedited data +-define(SCCP_MSGT_EA, 12). % Expedited data ack +-define(SCCP_MSGT_RSR, 13). % Reset Request +-define(SCCP_MSGT_RSC, 14). % Reset Confirmation +-define(SCCP_MSGT_ERR, 15). % Protocol data unit error +-define(SCCP_MSGT_IT, 16). % Inactivity test +-define(SCCP_MSGT_XUDT, 17). % Extended unitdata +-define(SCCP_MSGT_XUDTS, 18). % Extended unitdata service +-define(SCCP_MSGT_LUDT, 19). % Long unitdata +-define(SCCP_MSGT_LUDTS, 20). % Long unitdata service + +% Table 2 / Q.713 - SCCP parameter name codes +-define(SCCP_PNC_END_OF_OPTIONAL, 0). +-define(SCCP_PNC_DESTINATION_LOCAL_REFERENCE, 1). +-define(SCCP_PNC_SOURCE_LOCAL_REFERENCE, 2). +-define(SCCP_PNC_CALLED_PARTY_ADDRESS, 3). +-define(SCCP_PNC_CALLING_PARTY_ADDRESS, 4). +-define(SCCP_PNC_PROTOCOL_CLASS, 5). +-define(SCCP_PNC_SEGMENTING, 6). +-define(SCCP_PNC_RECEIVE_SEQ_NUMBER, 7). +-define(SCCP_PNC_SEQUENCING, 8). +-define(SCCP_PNC_CREDIT, 9). +-define(SCCP_PNC_RELEASE_CAUSE, 10). +-define(SCCP_PNC_RETURN_CAUSE, 11). +-define(SCCP_PNC_RESET_CAUSE, 12). +-define(SCCP_PNC_ERROR_CAUSE, 13). +-define(SCCP_PNC_REFUSAL_CAUSE, 14). +-define(SCCP_PNC_DATA, 15). +-define(SCCP_PNC_SEGMENTATION, 16). +-define(SCCP_PNC_HOP_COUNTER, 17). +-define(SCCP_PNC_IMPORTANCE, 18). +-define(SCCP_PNC_LONG_DATA, 19). + +% According to Q.713 Section 3.4.1 +-define(SCCP_GTI_NO_GT, 2#0000). +-define(SCCP_GTI_NAT_ONLY, 2#0001). +-define(SCCP_GTI_TT_ONLY, 2#0010). +-define(SCCP_GTI_TT_NP_ENC, 2#0011). +-define(SCCP_GTI_TT_NP_ENC_NAT, 2#0100). + +% According to Q.731 Section 3.4.2.2 +-define(SCCP_SSN_UNKNOWN, 2#000000000). +-define(SCCP_SSN_SCCP_MGMT, 2#000000001). +-define(SCCP_SSN_ITU_T, 2#000000010). +-define(SCCP_SSN_ISUP, 2#000000011). +-define(SCCP_SSN_OAM, 2#000000100). +-define(SCCP_SSN_MAP, 2#000000101). +-define(SCCP_SSN_HLR, 2#000000110). +-define(SCCP_SSN_VLR, 2#000000111). +-define(SCCP_SSN_MSC, 2#000001000). +-define(SCCP_SSN_EIR, 2#000001001). +-define(SCCP_SSN_AUC, 2#000001010). +-define(SCCP_SSN_ISDN_SS, 2#000001011). +-define(SCCP_SSN_RES_NAT, 2#000001100). +-define(SCCP_SSN_BISDN, 2#000001101). +-define(SCCP_SSN_TC_TEST, 2#000001110). + + + +% a single parsed SCCP message +-record(sccp_msg, { + msg_type, + parameters + }). + + +% a primitive how it is used inside the SCCP stack and to the user +-record(primitive, { + subsystem, + gen_name, + spec_name, + parameters + }). + +-record(global_title, { + gti, + nature_of_addr_ind, + trans_type, + encoding, + numbering_plan, + phone_number + }). + +-record(sccp_addr, { + res_nat_use, + route_on_ssn, + point_code, % optional + ssn, % optional + global_title % optional + }). + -- cgit v1.2.3