diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-03-25 16:36:40 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-03-26 23:07:24 +0200 |
commit | 90938393297fe1463232496a921570b542bafb2d (patch) | |
tree | c94afaeec96c8a4779b63e498c1d05d92a5d085a | |
parent | 055660098c148532ccaf499e24f227d5e8a866fb (diff) |
MNCC_Types: More types for MNCC server (MSC) side emulation
Change-Id: I1dd1744da7da983412d5d34c40fd896bc7b896db
-rw-r--r-- | library/MNCC_Types.ttcn | 240 |
1 files changed, 239 insertions, 1 deletions
diff --git a/library/MNCC_Types.ttcn b/library/MNCC_Types.ttcn index 1818ff36..39f9dcef 100644 --- a/library/MNCC_Types.ttcn +++ b/library/MNCC_Types.ttcn @@ -274,7 +274,7 @@ type record MNCC_cause { variant (coding) "FIELDLENGTH(32)"; } -template MNCC_cause ts_MNCC_cause(int val, +template (value) MNCC_cause ts_MNCC_cause(int val, GSM48_cause_loc loc := GSM48_CAUSE_LOC_PUN_S_LU, GSM48_cause_coding coding := GSM48_CAUSE_CS_GSM, octetstring diag := ''O) := { @@ -544,6 +544,38 @@ template MNCC_PDU ts_MNCC_SETUP_rsp(uint32_t call_id, charstring imsi := "", } } }; +template MNCC_PDU tr_MNCC_SETUP_rsp(template uint32_t call_id, + template charstring imsi := ?, + template MNCC_number connected := *) := { + msg_type := MNCC_SETUP_RSP, + u := { + signal := { /* See 24.008 9.3.5 */ + callref := call_id, + bearer_cap := omit, + called := omit, + calling := omit, + redirecting := omit, + connected := connected, + cause := omit, + progress := omit, + useruser := *, /* optional */ + facility := *, /* optional */ + cccap := omit, + ssversion := *, /* optional */ + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := imsi, + lchan_type := ?, + lchan_mode := ? + } + } +}; + /* MO: MSC -> MNCC: SETUP.ind from MSC to ext. MNCC handler */ template MNCC_PDU tr_MNCC_SETUP_ind(template uint32_t call_id := ?, template MNCC_number called := ?, @@ -678,6 +710,8 @@ template MNCC_PDU tr_MNCC_SETUP_COMPL_req(template uint32_t call_id) := /* MT: MSC -> MNCC: SETUP_COMPL.ind; receipt of CONNECT ACK */ template MNCC_PDU tr_MNCC_SETUP_COMPL_ind(template uint32_t call_id := ?) := tr_MNCC_SIMPLE(MNCC_SETUP_COMPL_IND, call_id); /* See 24.008 9.3.6 */ +template (value) MNCC_PDU ts_MNCC_SETUP_COMPL_ind(uint32_t call_id) := + ts_MNCC_SIMPLE(MNCC_SETUP_COMPL_IND, call_id); /* See 24.008 9.3.6 */ /* MT: MSC -> MNCC: REJ.req; reject MT call */ template MNCC_PDU tr_MNCC_REJ_req(template uint32_t call_id, template MNCC_cause cause := *) := { @@ -807,6 +841,40 @@ template MNCC_PDU ts_MNCC_CALL_PROC_req(uint32_t call_id, template MNCC_bearer_c } } } +template MNCC_PDU tr_MNCC_CALL_PROC_req(template uint32_t call_id, + template MNCC_bearer_cap bcap := *, + template MNCC_progress prog := *, + template charstring fac := *, + template MNCC_cccap cccap := *) := { + msg_type := MNCC_CALL_PROC_REQ, + u := { + signal := { /* See 24.008 9.3.2 */ + callref := call_id, + bearer_cap := bcap, + called := omit, + calling := omit, + redirecting := omit, + connected := omit, + cause := omit, + progress := prog, + useruser := omit, + facility := fac, + cccap := cccap, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := ?, + lchan_type := ?, + lchan_mode := ? + } + } +} + /* MSC <- MNCC: PROGRESS.req; PROGRESS message from ISDN */ template MNCC_PDU ts_MNCC_PROGRESS_req(uint32_t call_id, MNCC_progress prog, @@ -872,6 +940,39 @@ template MNCC_PDU ts_MNCC_ALERT_req(uint32_t call_id, template MNCC_progress pro } } } +template MNCC_PDU tr_MNCC_ALERT_req(template uint32_t call_id, + template MNCC_progress prog := *, + template charstring fac := *, + template MNCC_useruser uu := *) := { + msg_type := MNCC_ALERT_REQ, + u := { + signal := { /* See 24.008 9.3.1 */ + callref := call_id, + bearer_cap := omit, + called := omit, + calling := omit, + redirecting := omit, + connected := omit, + cause := omit, + progress := prog, + useruser := uu, + facility := fac, + cccap := omit, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := ?, + lchan_type := ?, + lchan_mode := ? + } + } +} + /* MT: MSC -> MNCC: ALERRT.ind; indicates that mobile user alerting has been initiated */ @@ -1002,6 +1103,38 @@ template MNCC_PDU tr_MNCC_DISC_ind(template uint32_t call_id := ?, template MNCC } } } +template (value) MNCC_PDU ts_MNCC_DISC_ind(uint32_t call_id, template (value) MNCC_cause cause, + template (omit) MNCC_progress prog := omit, + template (omit) charstring fac := omit, + template (omit) MNCC_useruser uu := omit) := { + msg_type := MNCC_DISC_IND, + u := { + signal := { /* See 24.008 9.3.7 */ + callref := call_id, + bearer_cap := omit, + called := omit, + calling := omit, + redirecting := omit, + connected := omit, + cause := cause, + progress := prog, + useruser := uu, + facility := fac, + cccap := omit, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := "", + lchan_type := 0, + lchan_mode := 0 + } + } +} /* : MSC <- MNCC: DISC.req; indicate disconnect to mobile user */ template MNCC_PDU ts_MNCC_DISC_req(uint32_t call_id, MNCC_cause cause, @@ -1036,6 +1169,40 @@ template MNCC_PDU ts_MNCC_DISC_req(uint32_t call_id, MNCC_cause cause, } } } +template MNCC_PDU tr_MNCC_DISC_req(template uint32_t call_id, + template MNCC_cause cause := *, + template MNCC_progress prog := omit, + template charstring fac := omit, + template MNCC_useruser uu := omit) := { + msg_type := MNCC_DISC_REQ, + u := { + signal := { /* See 24.008 9.3.7 */ + callref := call_id, + bearer_cap := omit, + called := omit, + calling := omit, + redirecting := omit, + connected := omit, + cause := cause, + progress := prog, + useruser := uu, + facility := fac, + cccap := omit, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := *, + imsi := ?, + lchan_type := ?, + lchan_mode := ? + } + } +} + /* : MSC -> MNCC: REL.ind; mobile user informs network that user wants to release call + MM */ template MNCC_PDU tr_MNCC_REL_ind(template uint32_t call_id := ?, template MNCC_cause cause := ?, @@ -1068,6 +1235,38 @@ template MNCC_PDU tr_MNCC_REL_ind(template uint32_t call_id := ?, template MNCC_ } } } +template (value) MNCC_PDU ts_MNCC_REL_ind(uint32_t call_id, + template (value) MNCC_cause cause, + template (omit) charstring fac := omit, + template (omit) MNCC_useruser uu := omit) := { + msg_type := MNCC_REL_IND, + u := { + signal := { /* See 24.008 9.3.18 */ + callref := call_id, + bearer_cap := omit, + called := omit, + calling := omit, + redirecting := omit, + connected := omit, + cause := cause, + progress := omit, + useruser := uu, + facility := fac, + cccap := omit, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := "", + lchan_type := 0, + lchan_mode := 0 + } + } +} /* : MSC <- MNCC: REL.req; indicate to mobile user tat network intents to release MM */ template MNCC_PDU ts_MNCC_REL_req(uint32_t call_id, MNCC_cause cause, @@ -1100,6 +1299,37 @@ template MNCC_PDU ts_MNCC_REL_req(uint32_t call_id, MNCC_cause cause, } } } +template MNCC_PDU tr_MNCC_REL_req(template uint32_t call_id, template MNCC_cause cause := *, + template charstring fac := *, template MNCC_useruser uu := *) := { + msg_type := MNCC_REL_REQ, + u := { + signal := { /* See 24.008 9.3.18 */ + callref := call_id, + bearer_cap := omit, + called := *, + calling := *, + redirecting := *, + connected := *, + cause := cause, + progress := omit, + useruser := uu, + facility := fac, + cccap := omit, + ssversion := omit, + clir_sup := 0, + clir_inv := 0, + signal := omit, + keypad := omit, + more := 0, + notify := 0, + emergency := omit, + imsi := ?, + lchan_type := 0, + lchan_mode := 0 + } + } +} + /* : MSC -> MNCC: REL.cnf; confirm REL_req */ template MNCC_PDU tr_MNCC_REL_cnf(template uint32_t call_id := ?, template MNCC_cause cause := ?, @@ -1107,6 +1337,14 @@ template MNCC_PDU tr_MNCC_REL_cnf(template uint32_t call_id := ?, template MNCC_ modifies tr_MNCC_REL_ind := { msg_type := MNCC_REL_CNF }; +template (value) MNCC_PDU ts_MNCC_REL_cnf(uint32_t call_id, + template (value) MNCC_cause cause, + template (omit) charstring fac := omit, + template (omit) MNCC_useruser uu := omit) +modifies ts_MNCC_REL_ind := { + msg_type := MNCC_REL_CNF +}; + /* : MSC <- MNCC: FACILITY.req; request transmission of facility */ template MNCC_PDU ts_MNCC_FACILITY_req(uint32_t call_id, charstring fac) := { |