summaryrefslogtreecommitdiffstats
path: root/include/sccp.hrl
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-02-07 20:48:41 +0100
committerHarald Welte <laforge@gnumonks.org>2011-02-07 20:48:41 +0100
commit78474ae3e2962326535e631aff68ce04b9e735fb (patch)
treeb287fa990b9b4454a72ef24cc5a26c70c8d4385e /include/sccp.hrl
parentf2d112edec5e882ebd60e8d66e1aecb02af5af50 (diff)
re-structure SS7 code and MGW NAT code into separate modules
This repository now only contains the SS7 code
Diffstat (limited to 'include/sccp.hrl')
-rw-r--r--include/sccp.hrl103
1 files changed, 103 insertions, 0 deletions
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
+ }).
+