Leave alert_notification and outbind unanswered
Mirror / push (push) Has been cancelled
Test / lint (pull_request) Successful in 21s
Test / test (18) (pull_request) Successful in 30s
Test / test (20) (pull_request) Successful in 30s
Test / test (22) (pull_request) Successful in 30s
Test / test (24) (pull_request) Successful in 30s
Test / test (26) (pull_request) Successful in 29s

This commit is contained in:
2026-09-22 21:39:58 +02:00
parent bdebef849c
commit f4bb1e542f
4 changed files with 25 additions and 6 deletions
+19
View File
@@ -1792,6 +1792,25 @@ describe('a PDU the codec cannot read', () => {
assert.ok((await raceWithin(2000, failed)) instanceof Error, 'one sessionError per refused PDU');
});
test('leaves alert_notification and outbind unanswered, as SMPP 3.4 defines no response to either', async t => {
const { peer, session } = await bound(t);
const failed = once<Error>(resolve => { session.on('sessionError', resolve); });
peer.writeRaw(pduBytes({
cmdName: 'alert_notification',
params: { esme_addr: '46701234567', source_addr: '46709876543' },
seqNr: 21,
}));
peer.writeRaw(pduBytes({ cmdName: 'outbind', params: { password: 'secret', system_id: 'smsc' }, seqNr: 22 }));
peer.writeRaw(pduBytes({ cmdName: 'enquire_link', seqNr: 23 }));
const answered = await answerTo(peer);
assert.equal(answered.cmdName, 'enquire_link_resp');
assert.equal(answered.seqNr, 23);
assert.equal(await raceWithin(200, failed), false, 'neither is a session error');
});
test('answers a deliver_sm with a truncated TLV stream with ESME_RINVTLVSTREAM', async t => {
const { peer, session } = await bound(t);
let reports = 0;