22.10. challenger-send-sms-telesign(1)#
22.10.1. Name#
challenger-send-sms-telesign - transmit a Challenger TAN by SMS via Telesign
22.10.2. Synopsis#
challenger-send-sms-telesign PHONE_NUMBER
22.10.3. Description#
challenger-send-sms-telesign transmits a TAN to a mobile phone number using the Telesign Messaging 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.
The message is submitted to the Telesign messaging endpoint. Telesign accepts a message for delivery without confirming that it reached the handset, so the delivery status is then polled for a bounded period. A message still in flight when the polling window closes is reported as accepted, not as a failure.
Telesign reports the outcome in the status.code field of the response body,
for successful and unsuccessful requests alike, and its documentation directs
callers to use that field in preference to the HTTP status. A malformed number
is reported as 11000 with an HTTP status of 400, so the response body must
be retained even when the HTTP request is unsuccessful.
Telesign does not distinguish a number that is too short from one that is too
long; both are reported as 11000. Detecting that a number belongs to a
landline or VoIP service requires Telesign’s separate PhoneID product and is not
attempted here.
22.10.4. Environment#
- TELESIGN_AUTH_TOKEN
Basic authentication token for the Telesign REST API. Required. The helper fails with status 40 if it is unset or empty.
Credentials are taken from the environment of the invoking daemon, never from a configuration file.
22.10.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
Telesign accepted the message but delivery was not confirmed within the polling window, or Telesign reported that the final status is unknown.
- 13
SMS is not supported by this phone, carrier or subscription.
- 14
The number is invalid, unallocated, or the subscriber is unknown.
- 15
The message was blocked: by a rule configured on the Telesign account, by Telesign’s global blocklist, by a carrier spam filter, or by the subscriber.
- 20
The subscriber is absent: the handset is switched off, out of coverage, or roaming.
- 21
The message expired in the mobile provider’s queue before delivery.
- 22
The carrier or mobile operator rejected the message or failed.
- 30
Telesign, or a Telesign delivery partner, is unavailable or reported an internal error.
- 31
Telesign rejected the request as malformed or unsupported.
- 32
A Telesign rate limit or transaction cap was exceeded.
- 40
TELESIGN_AUTH_TOKEN is not set, or the helper was invoked with the wrong number of arguments.
- 41
Telesign refused the credentials, or the account is suspended.
- 42
The pre-paid Telesign wallet has insufficient funds.
- 50
Telesign reported a status that could not be classified.
22.10.6. See Also#
challenger-send-sms(1), challenger-send-sms-aspsms(1), challenger-send-sms-clicksend(1), challenger-httpd(1), challenger.conf(5).
22.10.7. Bugs#
Report bugs by using https://bugs.taler.net or by sending electronic mail to <taler@gnu.org>.