Add basic pdu definitions
This commit is contained in:
311
pdu/pdu.go
311
pdu/pdu.go
@@ -1 +1,312 @@
|
|||||||
package pdu
|
package pdu
|
||||||
|
|
||||||
|
var COMMAND_ID = struct {
|
||||||
|
GENERIC_NACK_ID uint32
|
||||||
|
BIND_RECEIVER_ID uint32
|
||||||
|
BIND_RECEIVER_RESP_ID uint32
|
||||||
|
BIND_TRANSMITTER_ID uint32
|
||||||
|
BIND_TRANSMITTER_RESP_ID uint32
|
||||||
|
QUERY_SM_ID uint32
|
||||||
|
QUERY_SM_RESP_ID uint32
|
||||||
|
SUBMIT_SM_ID uint32
|
||||||
|
SUBMIT_SM_RESP_ID uint32
|
||||||
|
DELIVER_SM_ID uint32
|
||||||
|
DELIVER_SM_RESP_ID uint32
|
||||||
|
UNBIND_ID uint32
|
||||||
|
UNBIND_RESP_ID uint32
|
||||||
|
REPLACE_SM_ID uint32
|
||||||
|
REPLACE_SM_RESP_ID uint32
|
||||||
|
CANCEL_SM_ID uint32
|
||||||
|
CANCEL_SM_RESP_ID uint32
|
||||||
|
BIND_TRANSCIEVER_ID uint32
|
||||||
|
BIND_TRANSCIEVER_RESP_ID uint32
|
||||||
|
OUTBIND_ID uint32
|
||||||
|
ENQUIRE_LINK_ID uint32
|
||||||
|
ENQUIRE_LINK_RESP_ID uint32
|
||||||
|
SUBMIT_MULTI_ID uint32
|
||||||
|
SUBMIT_MULTI_RESP_ID uint32
|
||||||
|
ALERT_NOTIFICATION_ID uint32
|
||||||
|
DATA_SM_ID uint32
|
||||||
|
DATA_SM_RESP_ID uint32
|
||||||
|
}{
|
||||||
|
GENERIC_NACK_ID: 0x80000000,
|
||||||
|
BIND_RECEIVER_ID: 0x00000001,
|
||||||
|
BIND_RECEIVER_RESP_ID: 0x80000001,
|
||||||
|
BIND_TRANSMITTER_ID: 0x00000002,
|
||||||
|
BIND_TRANSMITTER_RESP_ID: 0x80000002,
|
||||||
|
QUERY_SM_ID: 0x00000003,
|
||||||
|
QUERY_SM_RESP_ID: 0x80000003,
|
||||||
|
SUBMIT_SM_ID: 0x00000004,
|
||||||
|
SUBMIT_SM_RESP_ID: 0x80000004,
|
||||||
|
DELIVER_SM_ID: 0x00000005,
|
||||||
|
DELIVER_SM_RESP_ID: 0x80000005,
|
||||||
|
UNBIND_ID: 0x00000006,
|
||||||
|
UNBIND_RESP_ID: 0x80000006,
|
||||||
|
REPLACE_SM_ID: 0x00000007,
|
||||||
|
REPLACE_SM_RESP_ID: 0x80000007,
|
||||||
|
CANCEL_SM_ID: 0x00000008,
|
||||||
|
CANCEL_SM_RESP_ID: 0x80000008,
|
||||||
|
BIND_TRANSCIEVER_ID: 0x00000009,
|
||||||
|
BIND_TRANSCIEVER_RESP_ID: 0x80000009,
|
||||||
|
OUTBIND_ID: 0x0000000B,
|
||||||
|
ENQUIRE_LINK_ID: 0x00000015,
|
||||||
|
ENQUIRE_LINK_RESP_ID: 0x80000015,
|
||||||
|
SUBMIT_MULTI_ID: 0x00000021,
|
||||||
|
SUBMIT_MULTI_RESP_ID: 0x80000021,
|
||||||
|
ALERT_NOTIFICATION_ID: 0x00000102,
|
||||||
|
DATA_SM_ID: 0x00000103,
|
||||||
|
DATA_SM_RESP_ID: 0x80000103,
|
||||||
|
}
|
||||||
|
|
||||||
|
var COMMAND_STATUS = struct {
|
||||||
|
ESME_ROK uint32
|
||||||
|
ESME_RINVMSGLEN uint32
|
||||||
|
ESME_RINVCMDLEN uint32
|
||||||
|
ESME_RINVCMDID uint32
|
||||||
|
ESME_RINVBNDSTS uint32
|
||||||
|
ESME_RALYBND uint32
|
||||||
|
ESME_RINVPRTFLG uint32
|
||||||
|
ESME_RINVREGDLVFLG uint32
|
||||||
|
ESME_RSYSERR uint32
|
||||||
|
ESME_RINVSRCADR uint32
|
||||||
|
ESME_RINVDSTADR uint32
|
||||||
|
ESME_RINVMSGID uint32
|
||||||
|
ESME_RBINDFAIL uint32
|
||||||
|
ESME_RINVPASWD uint32
|
||||||
|
ESME_RINVSYSID uint32
|
||||||
|
ESME_RCANCELFAIL uint32
|
||||||
|
ESME_RREPLACEFAIL uint32
|
||||||
|
ESME_RMSGQFUL uint32
|
||||||
|
ESME_RINVSERTYP uint32
|
||||||
|
ESME_RINVNUMDESTS uint32
|
||||||
|
ESME_RINVDLNAME uint32
|
||||||
|
ESME_RINVDESTFLAG uint32
|
||||||
|
ESME_RINVSUBREP uint32
|
||||||
|
ESME_RINVESMCLASS uint32
|
||||||
|
ESME_RCNTSUBDL uint32
|
||||||
|
ESME_RSUBMITFAIL uint32
|
||||||
|
ESME_RINVSRCTON uint32
|
||||||
|
ESME_RINVSRCNPI uint32
|
||||||
|
ESME_RINVDSTTON uint32
|
||||||
|
ESME_RINVDSTNPI uint32
|
||||||
|
ESME_RINVSYSTYP uint32
|
||||||
|
ESME_RINVREPFLAG uint32
|
||||||
|
ESME_RINVNUMMSGS uint32
|
||||||
|
ESME_RTHROTTLED uint32
|
||||||
|
ESME_RINVSCHED uint32
|
||||||
|
ESME_RINVEXPIRY uint32
|
||||||
|
ESME_RINVDFTMSGID uint32
|
||||||
|
ESME_RX_T_APPN uint32
|
||||||
|
ESME_RX_P_APPN uint32
|
||||||
|
ESME_RX_R_APPN uint32
|
||||||
|
ESME_RQUERYFAIL uint32
|
||||||
|
ESME_RINVOPTPARSTREAM uint32
|
||||||
|
ESME_ROPTPARNOTALLWD uint32
|
||||||
|
ESME_RINVPARLEN uint32
|
||||||
|
ESME_RMISSINGOPTPARAM uint32
|
||||||
|
ESME_RINVOPTPARAMVAL uint32
|
||||||
|
ESME_RDELIVERYFAILURE uint32
|
||||||
|
ESME_RUNKNOWNERR uint32
|
||||||
|
}{
|
||||||
|
ESME_ROK: 0x00000000, // No Error
|
||||||
|
ESME_RINVMSGLEN: 0x00000001, // Message Length is invalid
|
||||||
|
ESME_RINVCMDLEN: 0x00000002, // Command Length is invalid
|
||||||
|
ESME_RINVCMDID: 0x00000003, // Invalid Command ID
|
||||||
|
ESME_RINVBNDSTS: 0x00000004, // Incorrect BIND Status for given command
|
||||||
|
ESME_RALYBND: 0x00000005, // ESME Already in Bound State
|
||||||
|
ESME_RINVPRTFLG: 0x00000006, // Invalid Priority Flag
|
||||||
|
ESME_RINVREGDLVFLG: 0x00000007, // Invalid Registered Delivery Flag
|
||||||
|
ESME_RSYSERR: 0x00000008, // System Error
|
||||||
|
ESME_RINVSRCADR: 0x0000000A, // Invalid Source Address
|
||||||
|
ESME_RINVDSTADR: 0x0000000B, // Invalid Dest Addr
|
||||||
|
ESME_RINVMSGID: 0x0000000C, // Message ID is invalid
|
||||||
|
ESME_RBINDFAIL: 0x0000000D, // Bind Failed
|
||||||
|
ESME_RINVPASWD: 0x0000000E, // Invalid Password
|
||||||
|
ESME_RINVSYSID: 0x0000000F, // Invalid System ID
|
||||||
|
ESME_RCANCELFAIL: 0x00000011, // Cancel SM Failed
|
||||||
|
ESME_RREPLACEFAIL: 0x00000013, // Replace SM Failed
|
||||||
|
ESME_RMSGQFUL: 0x00000014, // Message Queue Full
|
||||||
|
ESME_RINVSERTYP: 0x00000015, // Invalid Service Type
|
||||||
|
ESME_RINVNUMDESTS: 0x00000033, // Invalid number of destinations
|
||||||
|
ESME_RINVDLNAME: 0x00000034, // Invalid Distribution List name
|
||||||
|
ESME_RINVDESTFLAG: 0x00000040, // Destination flag is invalid
|
||||||
|
ESME_RINVSUBREP: 0x00000042, // Invalid ‘submit with replace’ request
|
||||||
|
ESME_RINVESMCLASS: 0x00000043, // Invalid esm_class field data
|
||||||
|
ESME_RCNTSUBDL: 0x00000044, // Cannot Submit to Distribution List
|
||||||
|
ESME_RSUBMITFAIL: 0x00000045, // submit_sm or submit_multi failed
|
||||||
|
ESME_RINVSRCTON: 0x00000048, // Invalid Source address TON
|
||||||
|
ESME_RINVSRCNPI: 0x00000049, // Invalid Source address NPI
|
||||||
|
ESME_RINVDSTTON: 0x00000050, // Invalid Destination address TON
|
||||||
|
ESME_RINVDSTNPI: 0x00000051, // Invalid Destination address NPI
|
||||||
|
ESME_RINVSYSTYP: 0x00000053, // Invalid system_type field
|
||||||
|
ESME_RINVREPFLAG: 0x00000054, // Invalid replace_if_present flag
|
||||||
|
ESME_RINVNUMMSGS: 0x00000055, // Invalid number of messages
|
||||||
|
ESME_RTHROTTLED: 0x00000058, // Throttling error (ESME has exceeded allowed message limits)
|
||||||
|
ESME_RINVSCHED: 0x00000061, // Invalid Scheduled Delivery Time
|
||||||
|
ESME_RINVEXPIRY: 0x00000062, // Invalid message validity period
|
||||||
|
ESME_RINVDFTMSGID: 0x00000063, // Predefined Message Invalid or Not Found
|
||||||
|
ESME_RX_T_APPN: 0x00000064, // ESME Receiver Temporary App Error Code
|
||||||
|
ESME_RX_P_APPN: 0x00000065, // ESME Receiver Permanent App Error Code
|
||||||
|
ESME_RX_R_APPN: 0x00000066, // ESME Receiver Reject Message Error Code
|
||||||
|
ESME_RQUERYFAIL: 0x00000067, // query_sm request failed
|
||||||
|
ESME_RINVOPTPARSTREAM: 0x000000C0, // Error in the optional part of the PDU
|
||||||
|
ESME_ROPTPARNOTALLWD: 0x000000C1, // Optional Parameter not allowed
|
||||||
|
ESME_RINVPARLEN: 0x000000C2, // Invalid Parameter Length.
|
||||||
|
ESME_RMISSINGOPTPARAM: 0x000000C3, // Expected Optional Parameter missing
|
||||||
|
ESME_RINVOPTPARAMVAL: 0x000000C4, // Invalid Optional Parameter Value
|
||||||
|
ESME_RDELIVERYFAILURE: 0x000000FE, // Delivery Failure (used for
|
||||||
|
ESME_RUNKNOWNERR: 0x000000FF, // Unknown Error
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
PDU_HEADER struct {
|
||||||
|
command_length uint32
|
||||||
|
command_id uint32
|
||||||
|
command_status uint32
|
||||||
|
sequence_number uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
BIND struct {
|
||||||
|
PDU_HEADER
|
||||||
|
system_id string
|
||||||
|
password string
|
||||||
|
system_type string
|
||||||
|
interface_version uint8
|
||||||
|
addr_ton uint8
|
||||||
|
addr_npi uint8
|
||||||
|
address_range string
|
||||||
|
}
|
||||||
|
BIND_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
system_id string
|
||||||
|
sc_interface_version uint8
|
||||||
|
}
|
||||||
|
BIND_RECVEIVER struct {
|
||||||
|
BIND
|
||||||
|
}
|
||||||
|
BIND_RECEIVER_RESP struct {
|
||||||
|
BIND_RESP
|
||||||
|
}
|
||||||
|
BIND_TRANSMITTER struct {
|
||||||
|
BIND
|
||||||
|
}
|
||||||
|
BIND_TRANSMITTER_RESP struct {
|
||||||
|
BIND_RESP
|
||||||
|
}
|
||||||
|
BIND_TRANSCIEVER struct {
|
||||||
|
BIND
|
||||||
|
}
|
||||||
|
BIND_TRANSCIEVER_RESP struct {
|
||||||
|
BIND_RESP
|
||||||
|
}
|
||||||
|
|
||||||
|
UNBIND struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
UNBIND_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
|
||||||
|
GENERIC_NACK struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
|
||||||
|
SUBMIT_SM struct {
|
||||||
|
PDU_HEADER
|
||||||
|
service_type string
|
||||||
|
source_addr_ton uint8
|
||||||
|
source_addr_npi uint8
|
||||||
|
source_addr string
|
||||||
|
dest_addr_ton uint8
|
||||||
|
dest_addr_npi uint8
|
||||||
|
destination_addr string
|
||||||
|
esm_class uint8
|
||||||
|
protocol_id uint8
|
||||||
|
priority_flag uint8
|
||||||
|
schedule_delivery_time string
|
||||||
|
validity_period string
|
||||||
|
registered_delivery uint8
|
||||||
|
replace_if_present uint8
|
||||||
|
data_coding uint8
|
||||||
|
sm_default_msg_id uint8
|
||||||
|
sm_length uint8
|
||||||
|
short_message string
|
||||||
|
// user_message_reference uint16
|
||||||
|
// source_port uint16
|
||||||
|
// source_addr_subunit uint8
|
||||||
|
// destination_port uint16
|
||||||
|
// dest_addr_subunit uint8
|
||||||
|
// sar_msg_ref_num uint16
|
||||||
|
// sar_total_segments uint8
|
||||||
|
// sar_segment_seqnum uint8
|
||||||
|
// more_messages_to_send uint8
|
||||||
|
// payload_type uint8
|
||||||
|
// message_payload string
|
||||||
|
// privacy_indicator uint8
|
||||||
|
// callback_num string
|
||||||
|
// callback_num_pres uint8
|
||||||
|
// callback_num_atag string
|
||||||
|
// source_subaddress string
|
||||||
|
// dest_subaddress string
|
||||||
|
// user_response_code uint8
|
||||||
|
// display_time uint8
|
||||||
|
// sms_signal uint8
|
||||||
|
// ms_validity uint8
|
||||||
|
// ms_msg_wait_facilities uint8
|
||||||
|
// number_of_messages uint8
|
||||||
|
// alert_on_message_delivery uint8
|
||||||
|
// language_indicator uint8
|
||||||
|
// its_reply_type uint8
|
||||||
|
// its_session_info uint8
|
||||||
|
// ussd_service_op uint8
|
||||||
|
}
|
||||||
|
SUBMIT_SM_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
message_id string
|
||||||
|
}
|
||||||
|
SUBMIT_MULTI struct{}
|
||||||
|
SUBMIT_MULTI_RESP struct{}
|
||||||
|
|
||||||
|
DELIVER_SM struct {
|
||||||
|
PDU_HEADER
|
||||||
|
SUBMIT_SM
|
||||||
|
}
|
||||||
|
DELIVER_SM_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
SUBMIT_SM_RESP
|
||||||
|
}
|
||||||
|
|
||||||
|
DATA_SM struct{}
|
||||||
|
DATA_SM_RESP struct{}
|
||||||
|
|
||||||
|
QUERY_SM struct{}
|
||||||
|
QUERY_SM_RESP struct{}
|
||||||
|
|
||||||
|
CANCEL_SM struct {
|
||||||
|
PDU_HEADER
|
||||||
|
service_type string
|
||||||
|
message_id string
|
||||||
|
source_addr_ton uint8
|
||||||
|
source_addr_npi uint8
|
||||||
|
source_addr string
|
||||||
|
dest_addr_ton uint8
|
||||||
|
dest_addr_npi uint8
|
||||||
|
destination_addr string
|
||||||
|
}
|
||||||
|
CANCEL_SM_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
|
||||||
|
REPLACE_SM struct{}
|
||||||
|
REPLACE_SM_RESP struct{}
|
||||||
|
|
||||||
|
ENQUIRE_LINK struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
ENQUIRE_LINK_RESP struct {
|
||||||
|
PDU_HEADER
|
||||||
|
}
|
||||||
|
|
||||||
|
ALERT_NOTIFICATION struct{}
|
||||||
|
ALERT_NOTIFICATION_RESP struct{}
|
||||||
|
)
|
||||||
|
Reference in New Issue
Block a user