onPITrail (event)

This event is fired once for each PDU sent between the client and server.

Syntax

- (void)onPITrail:(int)direction :(NSData*)PDU :(int)commandLength :(int)commandId :(NSString*)commandDescription :(NSString*)commandStatus :(int)sequenceNumber;
func onPITrail(_ direction: Int32, _ PDU: Data, _ commandLength: Int32, _ commandId: Int32, _ commandDescription: String, _ commandStatus: String, _ sequenceNumber: Int32)

Remarks

Whenever either the class or the SMPPServer sends any data across the connection, the class will fire a PITrail event containing that data. It will usually be in SMPP-PDU format.

A PDU will contain at least the SMPP header, which is always 16 bytes long. The first four bytes represent the total length of the PDU, including the 16-byte header. The next four bytes are the command id associated with the PDU. The command id of a response PDU is always the command id to which it is responding plus 0x80000000.

The class parses the values contained in the PDU header into the appropriate fields. The CommandLength, CommandId, CommandStatus, and SequenceNumber parameters contain these parsed values.

The third set of four bytes are the command status (status code) of the command. All originating commands will have a status code of 0x00000000, which will be ignored by the receiver. The field is only set by in response PDUs to indicate the status of the originating command. The final four bytes represent the sequence number of the command. All response PDUs will contain the same sequence number as the originating command.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks 2020 iOS Edition - Version 20.0 [Build 8307]