sim800
Version:
A modern and opiniated module for SIM800 GSM modems ( SIM800 / SIM800L ).
91 lines (86 loc) • 5.32 kB
text/typescript
import { Sim800OutgoingSmsStatus } from './sim800-outgoing-sms.interface';
export enum Sim800DeliveryStatusDetail {
Delivered = 'Short message received by the SME.',
Unknown = 'Short message forwarded by the SC to the SME but the SC is unable to confirm delivery',
Replaced = 'Short message replaced by the SC',
Congestion = 'Congestion',
SmeBusy = 'SME busy',
NoResponse = 'No response from the SME',
ServiceRejected = 'Service rejected',
QualityOfServiceNotAvailable = 'Quality of service not available',
ErrorInSme = 'Error in SME',
RemoteProcedureError = 'Remote procedure error',
IncompatibleDestination = 'Incompatible destination',
ConnectionRejectedBySme = 'Connection rejected by SME',
NotObtainable = 'Not obtainable',
NoInterworkingAvailable = 'No interworking available',
SMValidityPeriodExpired = 'SM validity period expired',
SMDeletedByOriginatingSME = 'SM deleted by originating SME',
SMDeletedBySCAdministration = 'SM deleted by SC administration',
SMDoesNotExist = 'SM does not exist',
PermanentCongestion = 'Permanent congestion',
PernanentBusy = 'Permanent Busy',
PermanentNoResponse = 'Permanent No response from the SME',
PermanentServiceRejected = 'Permanent Service rejected',
PermanentQualityOfServiceNotAvailable = 'Permanent Quality of service not available',
PermanentErrorInSme = 'Permanent Error in SME',
}
export const Sim800DeliveryRawStatusMap: Record<number, Sim800DeliveryStatusDetail> = {
[]: Sim800DeliveryStatusDetail.Delivered,
[]: Sim800DeliveryStatusDetail.Unknown,
[]: Sim800DeliveryStatusDetail.Replaced,
[]: Sim800DeliveryStatusDetail.Congestion,
[]: Sim800DeliveryStatusDetail.SmeBusy,
[]: Sim800DeliveryStatusDetail.NoResponse,
[]: Sim800DeliveryStatusDetail.ServiceRejected,
[]: Sim800DeliveryStatusDetail.QualityOfServiceNotAvailable,
[]: Sim800DeliveryStatusDetail.ErrorInSme,
[]: Sim800DeliveryStatusDetail.RemoteProcedureError,
[]: Sim800DeliveryStatusDetail.IncompatibleDestination,
[]: Sim800DeliveryStatusDetail.ConnectionRejectedBySme,
[]: Sim800DeliveryStatusDetail.NotObtainable,
[]: Sim800DeliveryStatusDetail.PermanentQualityOfServiceNotAvailable,
[]: Sim800DeliveryStatusDetail.NoInterworkingAvailable,
[]: Sim800DeliveryStatusDetail.SMValidityPeriodExpired,
[]: Sim800DeliveryStatusDetail.SMDeletedByOriginatingSME,
[]: Sim800DeliveryStatusDetail.SMDeletedBySCAdministration,
[]: Sim800DeliveryStatusDetail.SMDoesNotExist,
[]: Sim800DeliveryStatusDetail.PermanentCongestion,
[]: Sim800DeliveryStatusDetail.PernanentBusy,
[]: Sim800DeliveryStatusDetail.PermanentNoResponse,
[]: Sim800DeliveryStatusDetail.PermanentServiceRejected,
[]: Sim800DeliveryStatusDetail.PermanentQualityOfServiceNotAvailable,
[]: Sim800DeliveryStatusDetail.PermanentErrorInSme,
};
export const Sim800DeliveryStatusMap: Record<Sim800DeliveryStatusDetail, Sim800OutgoingSmsStatus> = {
[]: Sim800OutgoingSmsStatus.Delivered,
[]: Sim800OutgoingSmsStatus.DeliveryUnknown,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryDelayed,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
[]: Sim800OutgoingSmsStatus.DeliveryFailure,
};
export interface Sim800DeliveryEvent {
messageReference: number;
status: Sim800OutgoingSmsStatus;
detail: Sim800DeliveryStatusDetail;
date: Date;
}