IP*Works! V9 - Online Help
IP*Works! V9
Questions / Feedback?

SMPP Class

Properties   Methods   Events   Configuration Settings   Errors  

The Smpp Component implements a lightweight message transmission interface using the Short Message Peer-to-Peer protocol, most known for its use in cellular text messaging.

Class Name

IPWorks_SMPP

Procedural Interface

 ipworks_smpp_open();
 ipworks_smpp_close($res);
 ipworks_smpp_register_callback($res, $id, $function);
 ipworks_smpp_get_last_error($res);
 ipworks_smpp_get_last_error_code($res);
 ipworks_smpp_set($res, $id, $index, $value);
 ipworks_smpp_get($res, $id, $index);
 ipworks_smpp_do_addrecipient($res, $recipienttype, $recipientaddress);
 ipworks_smpp_do_cancelmessage($res, $messageid);
 ipworks_smpp_do_checklink($res);
 ipworks_smpp_do_checkmessagestatus($res, $messageid);
 ipworks_smpp_do_config($res, $configurationstring);
 ipworks_smpp_do_connect($res, $userid, $password);
 ipworks_smpp_do_disconnect($res);
 ipworks_smpp_do_doevents($res);
 ipworks_smpp_do_interrupt($res);
 ipworks_smpp_do_replacemessage($res, $messageid, $newmessage);
 ipworks_smpp_do_sendcommand($res, $commandid, $payload);
 ipworks_smpp_do_senddata($res, $data);
 ipworks_smpp_do_sendmessage($res, $message);

Remarks

The Smpp Class will bind as a transceiver, and thus can send and receive messages from the server. Additionally, it can send single and multi-recipient messages, and can upload data.

Using Smpp is quite easy. First, simply set the SMPPServer, SMPPPort, and, if needed, the SMPPVersion properties. Second, a single call to the Connect method with a specified user id and password will connect the class.

Transmitting messages is just as easy. You can manipulate the Recipients properties directly, or just use AddRecipient method to add recipients one-by-one to the recipient list. After all recipients have been added, a single call to the SendMessage method will transmit the specified message. If the send is successful, the method will set and return the value of the MessageId property. Otherwise, an Error event will fire for each unsuccessful message destination.

The Smpp Class supports message and data transmission, as well as auxiliary operations such as CheckMessageStatus and ReplaceMessage. All non-implemented features of the protocol are supported through the SendCommand method and PITrail event. Due to the nature of the protocol, all methods and operations are implemented synchronously.

Property List


The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

ConnectedIndicates whether or not the component is bound.
FirewallAutoDetectThis property tells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallTypeThis property determines the type of firewall to connect through.
FirewallHostThis property contains the name or IP address of firewall (optional).
FirewallPasswordThis property contains a password if authentication is to be used when connecting through the firewall.
FirewallPortThis property contains the TCP port for the firewall Host .
FirewallUserThis property contains a user name if authentication is to be used connecting through a firewall.
IdleThe current status of the component.
LocalHostThe name of the local host or user-assigned IP interface through which connections are initiated or accepted.
MessageExpirationDenotes the validity period of the current message.
MessageIdThe identifier of the most recently sent message.
MessagePriorityThe priority level of the current message.
PasswordContains the user's password.
ProtocolThe SMPP protocol to be used.
RecipientCountThe number of records in the Recipient arrays.
RecipientAddressThis property contains the email address of a particular recipient.
RecipientTypeThis property contains the type of a particular recipient.
ScheduledDeliveryTells the server when to deliver the current message.
SenderAddressThe address of the ESME.
ServiceTypeIndicates the type of service for the current message.
SMPPPortThe server port for SMPP (default 2775).
SMPPServerThe SMPP entity to which the component will connect.
SMPPVersionThe SMPP version to be used throughout the connection.
SystemTypeA string representing the type of system during a connection.
TimeoutA timeout for the component.
UserIdUsed for identification with the SMPP service.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

AddRecipientWill add a recipient of the specified type to the recipient list.
CancelMessageWill cancel the specified message.
CheckLinkWill check the connection to the server.
CheckMessageStatusWill retrieve the status of the specified message.
ConfigSets or retrieves a configuration setting .
ConnectWill bind as a transceiver to the SMPP service.
DisconnectWill disconnect from the SMPP service.
DoEventsProcesses events from the internal message queue.
InterruptInterrupt the current method.
ReplaceMessageReplaces a previously sent message with a new one.
SendCommandWill format and send a PDU using the specified command identifier and payload.
SendDataSends raw data to Recipients .
SendMessageSends a message to all recipients in the recipient list.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

ConnectedThis event is fired after a successful bind operation.
ConnectionStatusFired to indicate changes in connection state.
DisconnectedThis event is fired when connection to the SMS service is lost.
ErrorThis event is fired when the server detects an error.
MessageInThis event is fired upon receipt of a message.
MessageStatusThis event is fired upon receipt of a message.
PITrailThis event is fired once for each PDU sent between the client and server.
ReadyToSendFired when IPPort is ready to send data.

Configuration Settings


The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.

AddressRangeSpecifies the addr_range parameter when binding.
BindAsReceiverCauses the component to bind as a receiver.
BindAsTransmitterCauses the component to bind as a transmitter.
DataCodingThe data encoding mechanism to be used for the current message.
DecodeHexStringsWill decode an ascii hex-representation of binary data prior to transmission.
DestinationNPIThe Number Planning Indicator for the destination ESME.
DestinationTONThe Type of Number for the destination ESME.
DoSplitLargeMessagesSplits long messages and returns the UDH and Message Parts.
HexStringA hex-encoded binary string to be sent to the current recipient.
IncomingDestinationAddressReturns the dest_addr field inside the received message.
IntermediateNotificationCauses the component to request intermediate notification.
MaxCIMDSMSLengthIndicates the maximum SMS message length for the CIMD protocol.
MaxSMSLengthIndicates the maximum SMS message length.
MCReceiptThe Type of MC Delivery Receipt requested.
MessageInReceiptedMessageIdThe receipted_message_id field of an incoming deliver_sm PDU.
MessageModeThe Type of Messaging Mode requested.
MessageTypeThe Type of Message.
ProtocolIdThe protocol identifier.
SMEAcknowledgementThe Type of SME originated acknowledgement requested.
SplitLargeMessagesDetermines whether large messages are split into multiple parts.
SplitMessageMethodDetermines how large messages are split into multiple parts.
SourceNPIThe Number Planning Indicator for the ESME.
SourceTONThe Type of Number for the ESME.
SynchronousSendCommandControls whether SendCommand behaves synchronously or asynchronously.
SynchronousSendMessageControls whether SendMessage behaves synchronously or asynchronously.
CustomTLVOptional TLV parameters added after the mandatory parameters and before the payload.
SubAddrDefines a unique index for application instance.
StatusReportRequestDefines in what cases a status report is created by the server.
WaitForBannerSpecifies the CIMD2 banner the component will wait for when connecting.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe TCP port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
RecordLengthThe length of received data records.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
UseIPv6Whether to use IPv6.
TcpNoDelayWhether or not to delay when sending packets.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
CodePageThe system code page used for Unicode to Multibyte translations.

 
 
Copyright (c) 2018 /n software inc. - All rights reserved.
Build 9.0.6635.0