22.8. challenger-send-sms-aspsms(1)#
22.8.1. Name#
challenger-send-sms-aspsms - transmit a Challenger TAN by SMS via ASPSMS
22.8.2. Synopsis#
challenger-send-sms-aspsms PHONE_NUMBER
22.8.3. Description#
challenger-send-sms-aspsms transmits a TAN to a mobile phone number using the ASPSMS web API.
It is normally invoked by challenger-send-sms(1) as one provider in a fallback chain, and not directly. Its calling convention differs from that of the dispatcher: PHONE_NUMBER is the bare phone number, already extracted from the address object and already checked for general E.164 form. The message to transmit, including the TAN, is read from standard input.
Each submission carries a generated transaction reference number, which is then used to poll the ASPSMS send log for a delivery report, for a bounded period. A message still in flight when the polling window closes is reported as accepted, not as a failure.
ASPSMS accepts a message and reports errors in the body of an otherwise
successful HTTP response; the integer ErrorCode field carries the outcome,
and a value of 1 means success. The accompanying description text is not stable
and is not used for classification.
ASPSMS has no error code for an unusable recipient number. A malformed or unallocated number is accepted at submission, consuming a credit, and the problem is only revealed later in the delivery report as a reason code. A message to a switched-off handset may remain buffered for up to 24 hours before a final status is reported, far longer than the polling window, so such a message is reported as accepted rather than failed.
22.8.4. Environment#
- ASPSMS_USERKEY
ASPSMS account user key. Required.
- ASPSMS_PASSWORD
ASPSMS API password. Required.
The helper fails with status 40 if either is unset or empty. Credentials are taken from the environment of the invoking daemon, never from a configuration file.
22.8.5. Exit Status#
An exit status below 10 means the TAN was transmitted, or will be. Any other status means it was not. The subset below is what this helper can actually report; see challenger-send-sms(1) for the full table.
- 0
Delivery to the handset was confirmed.
- 1
ASPSMS accepted the message but delivery was not confirmed within the polling window, including the common case of a message still buffered for a handset that is switched off.
- 13
The destination is not equipped for SMS, is not a subscriber, or the facility is not supported or not provided by the network.
- 14
The subscriber is unknown, or the destination address is invalid.
- 15
The number is barred, either for calls or for the requested operation.
- 20
The subscriber is absent: the handset is switched off or out of coverage.
- 21
The message expired after the network gave up retrying delivery.
- 22
A mobile network component failed, or a service centre was congested.
- 30
ASPSMS is unavailable, timed out, or reported a transmission error.
- 31
ASPSMS rejected the request, for instance because the message exceeded the maximum length or a parameter was invalid.
- 40
ASPSMS_USERKEY or ASPSMS_PASSWORD is not set, or the helper was invoked with the wrong number of arguments.
- 41
ASPSMS refused the credentials, denied access to the account, or the configured originator is not authorized.
- 42
The pre-paid ASPSMS account has insufficient credits.
- 50
The delivery report carried a reason code that could not be classified.
ASPSMS documents no rate limit and no rate-limit code, so status 32 is never reported by this helper.
22.8.6. See Also#
challenger-send-sms(1), challenger-send-sms-clicksend(1), challenger-send-sms-telesign(1), challenger-httpd(1), challenger.conf(5).
22.8.7. Bugs#
Report bugs by using https://bugs.taler.net or by sending electronic mail to <taler@gnu.org>.