protocol

package
v0.0.0-...-78670b8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2019 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const AdditionalStatusInfoTextTlv uint32 = 0x001D
View Source
const AlertOnMessageDeliveryTlv uint32 = 0x130C
View Source
const BindModeRX string = "RX"

BindModeRX is a Receiver bind mode

View Source
const BindModeTRX string = "TRX"

BindModeTRX is transceiver bind mode

View Source
const BindModeTX string = "TX"

SMPP v3.4 bind mode short names BindModeTX is a Transmitter bind mode

View Source
const BindReceiver uint32 = 0x00000001

BindReceiver is a BindReceiver PDU header command_id

View Source
const BindReceiverResp uint32 = 0x80000001

BindReceiverResp is a BindReceiverResp PDU header command_id

View Source
const BindTransceiver uint32 = 0x00000009

BindTransceiver is a BindTransceiver PDU header command_id

View Source
const BindTransceiverResp uint32 = 0x80000009

BindTransceiverResp is a BindTransceiverResp PDU header command_id

View Source
const BindTransmitter uint32 = 0x00000002

BindTransmitter is a BindTransmitter PDU header command_id

View Source
const BindTransmitterResp uint32 = 0x80000002

BindTransmitterResp is a BindTransmitterResp PDU header command_id

View Source
const CallbackNumAtagTlv uint32 = 0x0303
View Source
const CallbackNumPresIndTlv uint32 = 0x0302
View Source
const CallbackNumTlv uint32 = 0x0381
View Source
const CancelSm uint32 = 0x00000008

CancelSm is a CancelSm PDU header command_id

View Source
const CancelSmResp uint32 = 0x80000008

CancelSmResp is a CancelSmResp PDU header command_id

View Source
const DataCodingBinary uint32 = 4
View Source
const DataCodingBinaryAlias uint32 = 2
View Source
const DataCodingDefault uint32 = 0 //UTF-8 as internal SMSC coding

SMPP v3.4 - 5.2.19 page 126

View Source
const DataCodingIa5 uint32 = 1 // IA5 (CCITT T.50)/ASCII (ANSI X3.4)
View Source
const DataCodingIso2022Jp uint32 = 10 // Music codes
View Source
const DataCodingIso88591 uint32 = 3 // Latin 1
View Source
const DataCodingIso88595 uint32 = 6 // Cyrllic
View Source
const DataCodingIso88598 uint32 = 7 // Latin/Hebrew
View Source
const DataCodingJis uint32 = 5
View Source
const DataCodingKanji uint32 = 13 // Extended Kanji JIS
View Source
const DataCodingKsc5601 uint32 = 14
View Source
const DataCodingPictogram uint32 = 9
View Source
const DataCodingUcs2 uint32 = 8 // UCS-2BE (Big Endian)
View Source
const DataCodingUtf16be uint32 = 15
View Source
const DataSm uint32 = 0x00000103

DataSm is a DataSm PDU header command_id

View Source
const DataSmResp uint32 = 0x80000103

DataSm is a DataSm PDU header command_id

View Source
const DeliverSm uint32 = 0x00000005

DeliverSm is a DeliverSm PDU header command_id

View Source
const DeliverSmResp uint32 = 0x80000005

DeliverSmResp is a DeliverSmResp PDU header command_id

View Source
const DeliveryFailureReasonTlv uint32 = 0x0425
View Source
const DestAddrSubunitTlv uint32 = 0x0005

SMPP v3.4 - 5.2.28 page 132

View Source
const DestBearerTypeTlv uint32 = 0x0007
View Source
const DestFlagDistlist uint32 = 2
View Source
const DestFlagSme uint32 = 1

SMPP v3.4 - 5.2.25 page 129

View Source
const DestNetworkTypeTlv uint32 = 0x0006
View Source
const DestSubaddressTlv uint32 = 0x0203
View Source
const DestTelematicsIdTlv uint32 = 0x0008
View Source
const DestinationPortTlv uint32 = 0x020B
View Source
const DisplayTimeTlv uint32 = 0x1201
View Source
const DpfResultTlv uint32 = 0x0420
View Source
const EnquireLink uint32 = 0x00000015

EnquireLink is a EnquireLink PDU header command_id

View Source
const EnquireLinkResp uint32 = 0x80000015

EnquireLinkResp is a EnquireLinkResp PDU header command_id

View Source
const EsmDeliverConvAbort uint32 = 0x18
View Source
const EsmDeliverIdn uint32 = 0x20 // Intermediate delivery notification
View Source
const EsmDeliverSmeAck uint32 = 0x08
View Source
const EsmDeliverSmscReceipt uint32 = 0x04
View Source
const EsmDeliverUAck uint32 = 0x10
View Source
const EsmReplypath uint32 = 0x80
View Source
const EsmSubmitBinary uint32 = 0x04
View Source
const EsmSubmitDefault uint32 = 0x00

ESM bits 5-2

View Source
const EsmSubmitModeDatagram uint32 = 0x01

ESM bits 1-0 - SMPP v3.4 - 5.2.12 page 121-122

View Source
const EsmSubmitModeForward uint32 = 0x02
View Source
const EsmSubmitModeStoreandforward uint32 = 0x03
View Source
const EsmSubmitTypeEsmeDAck uint32 = 0x08
View Source
const EsmSubmitTypeEsmeUAck uint32 = 0x10
View Source
const EsmUdhi uint32 = 0x40
View Source
const EsmUdhiDlr uint32 = 0x04
View Source
const EsmUdhiNone uint32 = 0x00

ESM bits 7-6

View Source
const EsmeRalybnd uint32 = 0x00000005

EsmeRalybnd is a "ESME Already in Bound State" error code

View Source
const EsmeRbindfail uint32 = 0x0000000D

EsmeRbindfail is a "Bind Failed" error code

View Source
const EsmeRcancelfail uint32 = 0x00000011

EsmeRcancelfail is a "Cancel SM Failed" error code

View Source
const EsmeRcntsubdl uint32 = 0x00000044

EsmeRcntsubdl is a "Cannot Submit to Distribution List" error code

View Source
const EsmeRdeliveryfailure uint32 = 0x000000FE

EsmeRdeliveryfailure is a "Delivery Failure (data_sm_resp)" error code

View Source
const EsmeRinvbndsts uint32 = 0x00000004

EsmeRinvbndsts is a "Incorrect BIND Status for given command" error code

View Source
const EsmeRinvcmdid uint32 = 0x00000003

EsmeRinvcmdid is a "Invalid Command ID" error code

View Source
const EsmeRinvcmdlen uint32 = 0x00000002

EsmeRinvcmdlen is a "Command Length is invalid" error code

View Source
const EsmeRinvdestflag uint32 = 0x00000040

EsmeRinvdestflag is a "Destination flag (submit_multi)" error code

View Source
const EsmeRinvdftmsgid uint32 = 0x00000063

EsmeRinvdftmsgid is a "Predefined Message Invalid or Not Found" error code

View Source
const EsmeRinvdlname uint32 = 0x00000034

EsmeRinvdlname is a "Invalid Distribution List name" error code

View Source
const EsmeRinvdstadr uint32 = 0x0000000B

EsmeRinvdstadr is a "Invalid Dest Addr" error code

View Source
const EsmeRinvdstnpi uint32 = 0x00000051

EsmeRinvdstnpi is a "Invalid Destination address NPI" error code

View Source
const EsmeRinvdstton uint32 = 0x00000050

EsmeRinvdstton is a "Invalid Destination address TON" error code

View Source
const EsmeRinvesmsubmit uint32 = 0x00000043

EsmeRinvesmsubmit is a "Invalid esm_SUBMIT field data" error code

View Source
const EsmeRinvexpiry uint32 = 0x00000062

EsmeRinvexpiry is a "Invalid message (Expiry time)" error code

View Source
const EsmeRinvmsgid uint32 = 0x0000000C

EsmeRinvmsgid is a "Message ID is invalid" error code

View Source
const EsmeRinvmsglen uint32 = 0x00000001

EsmeRinvmsglen is a "Message Length is invalid" error code

View Source
const EsmeRinvnumdests uint32 = 0x00000033

EsmeRinvnumdests is a "Invalid number of destinations" error code

View Source
const EsmeRinvnummsgs uint32 = 0x00000055

EsmeRinvnummsgs is a "Invalid number of messages" error code

View Source
const EsmeRinvoptparamval uint32 = 0x000000C4

EsmeRinvoptparamval is a "Invalid Optional Parameter Value" error code

View Source
const EsmeRinvoptparstream uint32 = 0x000000C0

EsmeRinvoptparstream is a "Error in the optional part of the PDU Body"

View Source
const EsmeRinvparlen uint32 = 0x000000C2

EsmeRinvparlen is a "Invalid Parameter Length" error code

View Source
const EsmeRinvpaswd uint32 = 0x0000000E

EsmeRinvpaswd is a "Invalid Password" error code

View Source
const EsmeRinvprtflg uint32 = 0x00000006

EsmeRinvprtflg is a "Invalid Priority Flag" error code

View Source
const EsmeRinvregdlvflg uint32 = 0x00000007

EsmeRinvregdlvflg is a "Invalid Registered Delivery Flag" error code

View Source
const EsmeRinvrepflag uint32 = 0x00000054

EsmeRinvrepflag is a "Invalid replace_if_present flag" error code

View Source
const EsmeRinvsched uint32 = 0x00000061

EsmeRinvsched is a "Invalid Scheduled Delivery Time" error code

View Source
const EsmeRinvsertyp uint32 = 0x00000015

EsmeRinvsertyp is a "Invalid Service Type" error code

View Source
const EsmeRinvsrcadr uint32 = 0x0000000A

EsmeRinvsrcadr is a "Invalid Source Address" error code

View Source
const EsmeRinvsrcnpi uint32 = 0x00000049

EsmeRinvsrcnpi is a "Invalid Source address NPI" error code

View Source
const EsmeRinvsrcton uint32 = 0x00000048

EsmeRinvsrcton is a "Invalid Source address TON" error code

View Source
const EsmeRinvsubrep uint32 = 0x00000042

EsmeRinvsubrep is a "Invalid ‘submit with replace’ request" error code

View Source
const EsmeRinvsysid uint32 = 0x0000000F

EsmeRinvsysid is a "Invalid System ID" error code

View Source
const EsmeRinvsystyp uint32 = 0x00000053

EsmeRinvsystyp is a "Invalid system_type field" error code

View Source
const EsmeRmissingoptparam uint32 = 0x000000C3

EsmeRmissingoptparam is a "Expected Optional Parameter missing" error code

View Source
const EsmeRmsgqful uint32 = 0x00000014

EsmeRmsgqful is a "Message Queue Full" error code

View Source
const EsmeRok uint32 = 0x00000000

EsmeRok is "No Error" code

View Source
const EsmeRoptparnotallwd uint32 = 0x000000C1

EsmeRoptparnotallwd is a "Optional Parameter not allowed" error code

View Source
const EsmeRqueryfail uint32 = 0x00000067

EsmeRqueryfail is a "query_sm request failed" error code

View Source
const EsmeRreplacefail uint32 = 0x00000013

EsmeRreplacefail is a "Replace SM Failed" error code

View Source
const EsmeRsubmitfail uint32 = 0x00000045

EsmeRsubmitfail is a "submit_sm or submit_multi failed" error code

View Source
const EsmeRsyserr uint32 = 0x00000008

EsmeRsyserr is a "System Error" code

View Source
const EsmeRthrottled uint32 = 0x00000058

EsmeRthrottled is a "Throttling error (ESME has exceeded allowed message limits)" error code

View Source
const EsmeRunknownerr uint32 = 0x000000FF

EsmeRunknownerr is a "Unknown Error" code

View Source
const EsmeRxPAppn uint32 = 0x00000065

EsmeRxPAppn is a "ESME Receiver Permanent App Error Code"

View Source
const EsmeRxRAppn uint32 = 0x00000066

EsmeRxRAppn is a "ESME Receiver Reject Message Error Code"

View Source
const EsmeRxTAppn uint32 = 0x00000064

EsmeRxTAppn is a "ESME Receiver Temporary App Error Code"

View Source
const GenericNack uint32 = 0x80000000

GenericNack is a GenericNack PDU header command_id

View Source
const ItsReplyTypeTlv uint32 = 0x1380
View Source
const ItsSessionInfoTlv uint32 = 0x1383
View Source
const LanguageIndicatorTlv uint32 = 0x020D
View Source
const MessagePayloadTlv uint32 = 0x0424
View Source
const MessageStateTlv uint32 = 0x0427
View Source
const MoreMessagesToSendTlv uint32 = 0x0426
View Source
const MsAvailabilityStatusTlv uint32 = 0x0422
View Source
const MsMsgWaitFacilitiesTlv uint32 = 0x0030
View Source
const MsValidityTlv uint32 = 0x1204
View Source
const NetworkErrorCodeTlv uint32 = 0x0423
View Source
const NoUserDataSm uint32 = 0x00

SMPP v3.4 - 5.2.21 page 128

View Source
const NpiData uint32 = 0x03
View Source
const NpiE164 uint32 = 0x01
View Source
const NpiE212 uint32 = 0x06
View Source
const NpiErmes uint32 = 0x0a
View Source
const NpiInternet uint32 = 0x0e
View Source
const NpiNational uint32 = 0x08
View Source
const NpiPrivate uint32 = 0x09
View Source
const NpiTelex uint32 = 0x04
View Source
const NpiUnknown uint32 = 0x00

SMPP v3.4 - 5.2.6 page 118

View Source
const NpiWapclient uint32 = 0x12
View Source
const NumberOfMessagesTlv uint32 = 0x0304
View Source
const Outbind uint32 = 0x0000000B

Outbind is a Outbind PDU header command_id

View Source
const PayloadTypeTlv uint32 = 0x0019
View Source
const PduHeaderLength uint32 = 16

SMPP v3.4 - 3.2 page 38

View Source
const PriorityFlag0 uint32 = 0x00

SMPP v3.4 - 5.2.14 page 123

View Source
const PriorityFlag1 uint32 = 0x01
View Source
const PriorityFlag2 uint32 = 0x02
View Source
const PriorityFlag3 uint32 = 0x03
View Source
const PrivacyIndicatorTlv uint32 = 0x0201
View Source
const ProtocolId uint32 = 0x34

SMPP v3.4 - 5.2.13 page 123

View Source
const QosTimeToLiveTlv uint32 = 0x0017
View Source
const QuerySm uint32 = 0x00000003

QuerySm is a QuerySm PDU header command_id

View Source
const QuerySmResp uint32 = 0x80000003

QuerySmResp is a QuerySmResp PDU header command_id

View Source
const ReceiptedMessageIdTlv uint32 = 0x001E
View Source
const RegDeliveryIdn uint32 = 0x16 // Intermediate notification
View Source
const RegDeliveryNo uint32 = 0x00

SMPP v3.4 - 5.2.17 page 124

View Source
const RegDeliverySmeBoth uint32 = 0x10
View Source
const RegDeliverySmeDAck uint32 = 0x04
View Source
const RegDeliverySmeUAck uint32 = 0x08
View Source
const RegDeliverySmscBoth uint32 = 0x01 // both success and failure
View Source
const RegDeliverySmscFailed uint32 = 0x02
View Source
const ReplaceNo uint32 = 0x00

SMPP v3.4 - 5.2.18 page 125

View Source
const ReplaceSm uint32 = 0x00000007

ReplaceSm is a ReplaceSm PDU header command_id

View Source
const ReplaceSmResp uint32 = 0x80000007

ReplaceSmResp is a ReplaceSmResp PDU header command_id

View Source
const ReplaceYes uint32 = 0x01
View Source
const SarMsgRefNumTlv uint32 = 0x020C
View Source
const SarSegmentSeqnumTlv uint32 = 0x020F
View Source
const SarTotalSegmentsTlv uint32 = 0x020E
View Source
const ScInterfaceVersionTlv uint32 = 0x0210
View Source
const SetDpfTlv uint32 = 0x0421
View Source
const SmsSignalTlv uint32 = 0x1203
View Source
const SourceAddrSubunitTlv uint32 = 0x000D
View Source
const SourceBearerTypeTlv uint32 = 0x000F
View Source
const SourceNetworkTypeTlv uint32 = 0x000E
View Source
const SourcePortTlv uint32 = 0x020A
View Source
const SourceSubaddressTlv uint32 = 0x0202
View Source
const SourceTelematicsIdTlv uint32 = 0x0010
View Source
const StateAccepted uint32 = 6
View Source
const StateDeleted uint32 = 4
View Source
const StateDelivered uint32 = 2
View Source
const StateEnroute uint32 = 1

SMPP v3.4 - 5.2.28 page 130

View Source
const StateExpired uint32 = 3
View Source
const StateRejected uint32 = 8
View Source
const StateUndeliverable uint32 = 5
View Source
const StateUnknown uint32 = 7
View Source
const SubmitSm uint32 = 0x00000004

SubmitSm is a SubmitSm PDU header command_id

View Source
const SubmitSmResp uint32 = 0x80000004

SubmitSmResp is a SubmitSmResp PDU header command_id

View Source
const TonAbbreviated = 0x06
View Source
const TonAlphanumeric = 0x05
View Source
const TonInternational = 0x01
View Source
const TonNational = 0x02
View Source
const TonNetworkspecific = 0x03
View Source
const TonSubscribernumber = 0x04
View Source
const TonUnknown = 0x00

SMPP v3.4 - 5.2.5 page 117

View Source
const Unbind uint32 = 0x00000006

Unbind is a unbind PDU header command_id

View Source
const UnbindResp uint32 = 0x80000006

UnbindResp PDU header command_id

View Source
const UserMessageReferenceTlv uint32 = 0x0204
View Source
const UserResponseCodeTlv uint32 = 0x0205
View Source
const UssdServiceOpTlv uint32 = 0x0501

Variables

BindCommand is a bind command map

View Source
var Command = map[uint32]string{
	GenericNack:         "GENERIC_NACK",
	BindReceiver:        "BIND_RECEIVER",
	BindReceiverResp:    "BIND_RECEIVER_RESP",
	BindTransmitter:     "BIND_TRANSMITTER",
	BindTransmitterResp: "BIND_TRANSMITTER_RESP",
	QuerySm:             "QUERY_SM",
	QuerySmResp:         "QUERY_SM_RESP",
	SubmitSm:            "SUBMIT_SM",
	SubmitSmResp:        "SUBMIT_SM_RESP",
	DataSm:              "DATA_SM",
	DataSmResp:          "DATA_SM_RESP",
	DeliverSm:           "DELIVER_SM",
	DeliverSmResp:       "DELIVER_SM_RESP",
	Unbind:              "UNBIND",
	UnbindResp:          "UNBIND_RESP",
	ReplaceSm:           "REPLACE_SM",
	ReplaceSmResp:       "REPLACE_SM_RESP",
	CancelSm:            "CANCEL_SM",
	CancelSmResp:        "CANCEL_SM_RESP",
	BindTransceiver:     "BIND_TRANSCEIVER",
	BindTransceiverResp: "BIND_TRANSCEIVER_RESP",
	Outbind:             "OUTBIND",
	EnquireLink:         "ENQUIRE_LINK",
	EnquireLinkResp:     "ENQUIRE_LINK_RESP",
}

Command is command names map

View Source
var SmCommand = map[uint32]bool{
	SubmitSm:  true,
	DeliverSm: true,
	DataSm:    true,
}

SmCommand is a short-message command map

View Source
var State = map[uint32]string{
	StateEnroute:       "ENROUTE",
	StateDelivered:     "DELIVRD",
	StateExpired:       "EXPIRED",
	StateDeleted:       "DELETED",
	StateUndeliverable: "UNDELIV",
	StateAccepted:      "ACCEPTD",
	StateUnknown:       "UNKNOWN",
	StateRejected:      "REJECTD",
}
View Source
var Status = map[uint32]string{
	EsmeRok:              "No Error",
	EsmeRinvmsglen:       "Message Length is invalid",
	EsmeRinvcmdlen:       "Command Length is invalid",
	EsmeRinvcmdid:        "Invalid Command ID",
	EsmeRinvbndsts:       "Incorrect BIND Status for given command",
	EsmeRalybnd:          "ESME Already in Bound State",
	EsmeRinvprtflg:       "Invalid Priority Flag",
	EsmeRinvregdlvflg:    "Invalid Registered Delivery Flag",
	EsmeRsyserr:          "System Error",
	EsmeRinvsrcadr:       "Invalid Source Address",
	EsmeRinvdstadr:       "Invalid Dest Addr",
	EsmeRinvmsgid:        "Message ID is invalid",
	EsmeRbindfail:        "Bind Failed",
	EsmeRinvpaswd:        "Invalid Password",
	EsmeRinvsysid:        "Invalid System ID",
	EsmeRcancelfail:      "Cancel SM Failed",
	EsmeRreplacefail:     "Replace SM Failed",
	EsmeRmsgqful:         "Message Queue Full",
	EsmeRinvsertyp:       "Invalid Service Type",
	EsmeRinvnumdests:     "Invalid number of destinations",
	EsmeRinvdlname:       "Invalid Distribution List name",
	EsmeRinvdestflag:     "Destination flag (submit_multi)",
	EsmeRinvsubrep:       "Invalid ‘submit with replace’ request",
	EsmeRinvesmsubmit:    "Invalid esm_SUBMIT field data",
	EsmeRcntsubdl:        "Cannot Submit to Distribution List",
	EsmeRsubmitfail:      "submit_sm or submit_multi failed",
	EsmeRinvsrcton:       "Invalid Source address TON",
	EsmeRinvsrcnpi:       "Invalid Source address NPI",
	EsmeRinvdstton:       "Invalid Destination address TON",
	EsmeRinvdstnpi:       "Invalid Destination address NPI",
	EsmeRinvsystyp:       "Invalid system_type field",
	EsmeRinvrepflag:      "Invalid replace_if_present flag",
	EsmeRinvnummsgs:      "Invalid number of messages",
	EsmeRthrottled:       "Throttling error (ESME has exceeded allowed message limits)",
	EsmeRinvsched:        "Invalid Scheduled Delivery Time",
	EsmeRinvexpiry:       "Invalid message (Expiry time)",
	EsmeRinvdftmsgid:     "Predefined Message Invalid or Not Found",
	EsmeRxTAppn:          "ESME Receiver Temporary App Error Code",
	EsmeRxPAppn:          "ESME Receiver Permanent App Error Code",
	EsmeRxRAppn:          "ESME Receiver Reject Message Error Code",
	EsmeRqueryfail:       "query_sm request failed",
	EsmeRinvoptparstream: "Error in the optional part of the PDU Body.",
	EsmeRoptparnotallwd:  "Optional Parameter not allowed",
	EsmeRinvparlen:       "Invalid Parameter Length.",
	EsmeRmissingoptparam: "Expected Optional Parameter missing",
	EsmeRinvoptparamval:  "Invalid Optional Parameter Value",
	EsmeRdeliveryfailure: "Delivery Failure (data_sm_resp)",
	EsmeRunknownerr:      "Unknown Error",
}

Status is status names map

View Source
var Tlv = map[uint32]string{
	DestAddrSubunitTlv:          "dest_addr_subunit",
	DestNetworkTypeTlv:          "dest_network_type",
	DestBearerTypeTlv:           "dest_bearer_type",
	DestTelematicsIdTlv:         "dest_telematics_id",
	SourceAddrSubunitTlv:        "source_addr_subunit",
	SourceNetworkTypeTlv:        "source_network_type",
	SourceBearerTypeTlv:         "source_bearer_type",
	SourceTelematicsIdTlv:       "source_telematics_id",
	QosTimeToLiveTlv:            "qos_time_to_live",
	PayloadTypeTlv:              "payload_type",
	AdditionalStatusInfoTextTlv: "additional_status_info_text",
	ReceiptedMessageIdTlv:       "receipted_message_id",
	MsMsgWaitFacilitiesTlv:      "ms_msg_wait_facilities",
	PrivacyIndicatorTlv:         "privacy_indicator",
	SourceSubaddressTlv:         "source_subaddress",
	DestSubaddressTlv:           "dest_subaddress",
	UserMessageReferenceTlv:     "user_message_reference",
	UserResponseCodeTlv:         "user_response_code",
	SourcePortTlv:               "source_port",
	DestinationPortTlv:          "destination_port",
	SarMsgRefNumTlv:             "sar_msg_ref_num",
	LanguageIndicatorTlv:        "language_indicator",
	SarTotalSegmentsTlv:         "sar_total_segments",
	SarSegmentSeqnumTlv:         "sar_segment_seqnum",
	ScInterfaceVersionTlv:       "sc_interface_version",
	CallbackNumPresIndTlv:       "callback_num_pres_ind",
	CallbackNumAtagTlv:          "callback_num_atag",
	NumberOfMessagesTlv:         "number_of_messages",
	CallbackNumTlv:              "callback_num",
	DpfResultTlv:                "dpf_result",
	SetDpfTlv:                   "set_dpf",
	MsAvailabilityStatusTlv:     "ms_availability_status",
	NetworkErrorCodeTlv:         "network_error_code",
	MessagePayloadTlv:           "message_payload",
	DeliveryFailureReasonTlv:    "delivery_failure_reason",
	MoreMessagesToSendTlv:       "more_messages_to_send",
	MessageStateTlv:             "message_state",
	UssdServiceOpTlv:            "ussd_service_op",
	DisplayTimeTlv:              "display_time",
	SmsSignalTlv:                "sms_signal",
	MsValidityTlv:               "ms_validity",
	AlertOnMessageDeliveryTlv:   "alert_on_message_delivery",
	ItsReplyTypeTlv:             "its_reply_type",
	ItsSessionInfoTlv:           "its_session_info",
}

Functions

func GetCommandName

func GetCommandName(command uint32) string

GetCommandName is a function to get command name by id

func GetStateName

func GetStateName(state uint32) string

func GetStatusName

func GetStatusName(status uint32) string

GetStatusName is a function to get command status by id

func GetTlvName

func GetTlvName(tag uint32) string

func IsBindOperation

func IsBindOperation(command uint32) bool

IsBindOperation is a function to determine bind command

func IsSmCommand

func IsSmCommand(command uint32) bool

IsSmCommand is a function to determine bind command

Types

type Reader

type Reader struct {
	*bufio.Reader
}

Reader is a SMPP v3.4 protocol packet reader

func NewReader

func NewReader(conn *net.TCPConn) *Reader

NewReader creates new Reader

func (*Reader) ReadPacket

func (r *Reader) ReadPacket() (*[]byte, error)

ReadPduBuffer is a PDU packet reader

func (*Reader) ReadPdu

func (r *Reader) ReadPdu(packet *[]byte) (pdu.Pdu, error)

ReadPdu is a PDU buffer reader to PDU struct

type Writer

type Writer struct {
	*bufio.Writer
}

Reader is a SMPP v3.4 protocol packet writer

func NewWriter

func NewWriter(conn *net.TCPConn) *Writer

NewWriter is the writer constructor

func (*Writer) WriteHeader

func (w *Writer) WriteHeader(header *pdu.Header, buffer *bytes.Buffer) (int, error)

WriteHeader is a Pdu Header writer

func (*Writer) WritePdu

func (w *Writer) WritePdu(packet pdu.Pdu) (pdu.Pdu, error)

WritePdu is the PDU writer

func (*Writer) WriteSmBody

func (w *Writer) WriteSmBody(body *pdu.SmBody, buffer *bytes.Buffer) (int, error)

WriteHeader is a Pdu Header writer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL