Migration from v1.x to 2.x
How to solve some compile issues:
SmppClient
- Missing - BatchMonitorclass. Use instead- client.Submit(IEnumerable<SubmitSm> batch). It waits when all responses will be received for a batch.
- Events - evBindComplete,- evSubmitComplete,- evQueryCompletewere depricated. It is possible to use async await pattern or ContinueWith for corresponding- Bind,- Submit,- Querymethods.
- _client.AddressRange,- _client.AddrNpiand- _client.AddrTonmust be specified as- _client.EsmeAddress = new SmeAddress(AddressRange, AddrTon, AddrNpi);
- Sequence number and Command Status are moved to Header property of PDU. 
- data.Statusreplaced with- data.Header.Status,
- data.Sequencereplaced with- data.Header.Sequence
- client.GetMessageTextis moved to- client.EncodingMapper.GetMessageText
- PDU Properties 
- SourceAddrTon,- SourceAddrNpi,- SourceAddrreplaced with- SourceAddressof type- SmeAddress
- DestAddrTon,- DestAddrNpi,- DestAddrreplaced with- DestinationAddressof type- SmeAddress
- UserDataPdureplaced with- UserData
- Optionalreplaced with- Parameters
- Property - MessageTextin- SubmitSm,- SubmitMulti,- DeliverSm,- DataSm,- ReplaceSmclasses is deprecated. Use the method- pdu.GetMessageText(client.EncodingMapper).
- Method - SmppClientBase.MapEncodingmoved to- SmppClientBase.EncodingMapper.MapEncoding
SmppServer
- Namespace for - SmppServerClientclass changed to- Inetlab.SMPP.
- IPEndPoint of the server must be specified in - SmppServerconstructor, instead of- Startmethod of this class.
Serialization
Method submitSm.Serialize can be replaced with extension method:
   byte[] pduData = submitSm.Serialize(client.EncodingMapper);
Static method SubmitSm.Deserialize can be replaced with code:
   byte[] pduData = ...;
  SubmitSm pdu =  pduData.Deserialize<SubmitSm>(client.EncodingMapper);