Forward Compatibility systems permit a practical element (for example SMSC or ESME) utilizing one variant of the SMPP Gateway Software convention to effortlessly speak with an element utilizing a later, increasingly upgraded variant of the convention. Consequently, new improvements to existing SMPP PDUs are executed utilizing discretionary parameters.
The accompanying rules must be followed in SMPP usage to guarantee that this process is executed effectively and reliably:
1. On the off chance that an SMPP entity gets an unrecognized PDU/direction, it must restore a generic_nack PDU showing an invalid command_id in the command_status field of the header.
2. The SMPP entity accepting a message which incorporates Optional Parameters will first investigate the Tag field of the Operational Parameter, as pursues:
3. On the off chance that the Optional Parameter Tag is perceived and bolstered by the accepting smpp gateway open source entity for the specific SMPP activity, the Optional Parameter will be handled.
4. On the off chance that an Optional Parameter Tag is perceived yet not expected for the specific SMPP activity, the discretionary parameter will be overlooked.
5. On the off chance that the Optional Parameter Tag is unrecognized or unsupported by getting the SMPP element, that specific Optional Parameter will be overlooked and the following Optional Parameter in the grouping will be prepared.
An SMPP element getting parameter esteem characterized as “held” should utilize the default esteem if a “default” setting is characterized, generally the parameter ought to be disregarded.
1. On the off chance that the Parameter esteem is generally unrecognized or invalid, the SMPP element should return a mistake showing the Parameter Value is invalid.
2. An SMPP entity identifying that an Optional Parameter, which is required with regards to the task, is absent should restore a reaction message with a “Normal Optional Parameter missing” blunder.
3. A Variable-length field Parameter may have it’s most extreme length definition stretched out in ensuing adaptations of the SMPP Service. An SMPP substance getting a variable length Parameter whose length is more noteworthy than the most extreme length the substance underpins for that Parameter should dismiss the Parameter with an errors specifying “invalid parameter length”.
Rules for SMPP Backward Compatibility::
In reverse Compatibility, methods permit a practical element utilizing one form of the SMPP convention to speak with an element utilizing a more established variant of the convention.
The accompanying rules must be followed in SMPP usage to guarantee that this process is executed effectively and reliably:
1. Existing SMPP PDUs must not be expelled from the convention.
2. The impact of accepting any current message in another adjusted configuration must be the same as that in past variants. Therefore the expansion of new parameters or parameter esteems is simply added substance.
3. Discretionary parameters will not end up required parameters.
4. Required parameters will not end up discretionary parameters.
5. Extra obligatory parameters will not be added to a current SMPP PDU.
6. Existing obligatory parameters will not be expelled from a current SMPP PDU.
The importance of any current parameter esteem will not be changed in the new form of the protocol. As the idea of Optional Parameters was presented in this rendition of the protocol, the following extraordinary rules are characterized:
1. An SMSC that executes SMPP v3.4 or a later form of this convention must not send discretionary parameters to an ESME that actualizes a prior SMPP rendition (for example v3.3). An SMSC will decide the SMPP variant upheld by an ESME amid the quandary task. An ESME supporting SMPP v3.3 or prior will set the nterface_version parameter in the sticky situation task to esteem under 0x34.
2. An SMSC supporting v3.4 or later should restore the SMPP variant it underpins in the sc_interface_version parameter of the dilemma reaction PDU. In the event that a quandary reaction does not contain the sc_interface_version parameter, at that point the ESME ought to expect that the SMSC does not bolster the utilization of discretionary parameters
3. An ESME that actualizes SMPP v3.4 or a later form of this convention must not send discretionary parameters to an SMSC that executes a prior rendition of this convention. The ESME will decide the SMSC variant help from the SMPP tie reaction PDU.
4. An SMSC that actualizes SMPP v3.4 or later should not produce message IDs more noteworthy than 8 octets when speaking with an ESME that helps SMPP v3.3 or prior.