osmo-ttcn3-hacks/library/SMPP_Templates.ttcn

141 lines
3.9 KiB
Plaintext

module SMPP_Templates {
import from General_Types all;
import from SMPP_Types all;
template (value) SMPP_header ts_SMPP_hdr(OCT4 command_id, SMPP_error_code status,
integer seq := 0) := {
command_len := 0,
command_id := command_id,
command_status := status,
seq_num := seq
}
template SMPP_header tr_SMPP_hdr(template OCT4 command_id, template SMPP_error_code status,
template integer seq := ?) := {
command_len := ?,
command_id := command_id,
command_status := status,
seq_num := seq
}
template (value) SMPP_PDU ts_SMPP(OCT4 command_id, SMPP_error_code status,
template (value) SMPP_operation_body body) := {
header := ts_SMPP_hdr(command_id, status),
body := body
}
template SMPP_PDU tr_SMPP(template OCT4 command_id, template SMPP_error_code status,
template integer seq := ?,
template SMPP_operation_body body := ?) := {
header := tr_SMPP_hdr(command_id, status, seq),
body := body
}
template (value) SMPP_PDU ts_SMPP_BIND_TX(template (value) SMPP_Bind bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_transmitter, ESME_ROK),
body := {
bind_transmitter := bind
}
}
template SMPP_PDU tr_SMPP_BIND_TX(template (value) SMPP_Bind bind, template integer seq := ?) := {
header := tr_SMPP_hdr(c_SMPP_command_id_bind_transmitter, ESME_ROK, seq),
body := {
bind_transmitter := bind
}
}
template (value) SMPP_PDU ts_SMPP_BIND_TX_resp(SMPP_error_code status,
template (value) SMPP_Bind_resp bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_transmitter_resp, status),
body := {
bind_transmitter_resp := bind
}
}
template (value) SMPP_PDU ts_SMPP_BIND_RX(template (value) SMPP_Bind bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_receiver, ESME_ROK),
body := {
bind_receiver := bind
}
}
template SMPP_PDU tr_SMPP_BIND_RX(template (value) SMPP_Bind bind, template integer seq := ?) := {
header := tr_SMPP_hdr(c_SMPP_command_id_bind_receiver, ESME_ROK, seq),
body := {
bind_receiver := bind
}
}
template (value) SMPP_PDU ts_SMPP_BIND_RX_resp(SMPP_error_code status,
template (value) SMPP_Bind_resp bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_receiver_resp, status),
body := {
bind_receiver_resp := bind
}
}
template (value) SMPP_PDU ts_SMPP_BIND_TRX(template (value) SMPP_Bind bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_transceiver, ESME_ROK),
body := {
bind_transceiver := bind
}
}
template SMPP_PDU tr_SMPP_BIND_TRX(template (value) SMPP_Bind bind, template integer seq := ?) := {
header := tr_SMPP_hdr(c_SMPP_command_id_bind_transceiver, ESME_ROK, seq),
body := {
bind_transceiver := bind
}
}
template (value) SMPP_PDU ts_SMPP_BIND_TRX_resp(SMPP_error_code status,
template (value) SMPP_Bind_resp bind) := {
header := ts_SMPP_hdr(c_SMPP_command_id_bind_transceiver_resp, status),
body := {
bind_transceiver_resp := bind
}
}
template (value) SMPP_PDU ts_SMPP_ENQ_LINK := {
header := ts_SMPP_hdr(c_SMPP_command_id_enquire_link, ESME_ROK),
body := {
enquire_link := {}
}
}
template (value) SMPP_PDU ts_SMPP_ENQ_LINK_resp := {
header := ts_SMPP_hdr(c_SMPP_command_id_enquire_link_resp, ESME_ROK),
body := {
enquire_link_resp := {}
}
}
template (value) SMPP_PDU ts_SMPP_DELIVER_SM_resp(SMPP_error_code status, integer seq) := {
header := ts_SMPP_hdr(c_SMPP_command_id_deliver_sm_resp, status, seq),
body := {
deliver_sm_resp := {
message_id := "", /* unused */
opt_pars := omit
}
}
}
template (value) SMPP_PDU ts_SMPP_SUBMIT_SM(SMPP_SM sm) := {
header := ts_SMPP_hdr(c_SMPP_command_id_submit_sm, ESME_ROK),
body := {
submit_sm := sm
}
}
/* Section 5.2.12 esm_class */
template SMPP_BIT1 tr_ESM_CLASS_DEFAULT := '??????00'B;
template SMPP_BIT1 tr_ESM_CLASS_DATAGRAM := '??????01'B;
template SMPP_BIT1 tr_ESM_CLASS_TRANSACTION := '??????10'B;
template SMPP_BIT1 tr_ESM_CLASS_STORE_FORWARD := '??????11'B;
template SMPP_BIT1 tr_ESM_CLASS_UDHI := '?1??????'B;
template SMPP_BIT1 tr_ESM_CLASS_REPLYP_PATH := '1???????'B;
}