public void Serializes_Pdu() { var expectedResult = new byte[] { 0x00, 0x00, 0x00, 0x4c, // length 0x00, 0x00, 0x00, 0x04, // command 0x00, 0x00, 0x00, 0x00, // status 0x00, 0x00, 0x00, 0x10, // sequence 0x00, // service type 0x02, // source ton 0x05, // source npi 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x00, // source address 0x03, // dest ton 0x08, // dest npi 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x00, // dest address 0x00, // esm class 0x00, // protocol id 0x00, // priority flag 0x00, // scheduled delivery time 0x00, // validity period 0x00, // registered delivery 0x00, // replace if present 0x00, // data coding 0x00, // sm default msg id 0x17, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e // short message }; var pdu = new Submit( 16, null, TypeOfNumber.National, NumericPlanIndicator.National, "1234567890", TypeOfNumber.NetworkSpecific, NumericPlanIndicator.Internet, "9876543210", 0, 0, 0, "This is a test message."); var serializer = new SubmitSerializer(); var result = serializer.Serialize(pdu); CollectionAssert.AreEqual(expectedResult, result); }
internal Task<SubmitResult> Submit(string source, string dest, string message) { EnsureCanTransmit(); var sequence = GetNextSequenceNumber(); var task = _taskRegistry.Register<SubmitResult>(sequence); var pdu = new Submit( sequence, null, TypeOfNumber.Unknown, NumericPlanIndicator.Unknown, source, TypeOfNumber.Unknown, NumericPlanIndicator.Unknown, dest, 0, 0, 0, message); _pduSender.Enqueue(pdu); return task.GetTask<SubmitResult>(); }