The LPA address format might be wrong. Try these variations:
// Option 1: Full LPA format (if activationCode already contains full LPA)
request.address = activationCode
// Option 2: Standard format you're using
request.address = "LPA:1$\(smdp)$\(activationCode)"
// Option 3: Alternative format some carriers use
request.address = "\(smdp)$\(activationCode)"