View Issue Details

IDProjectCategoryView StatusLast Update
0010728Talerdeployment and operationspublic2025-12-17 05:40
Reportervecirex Assigned Tovecirex Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityhighSeveritytrivialReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.0 
Target Version1.3 
Summary0010728: Configure & test SMS gateway delivery for TAN codes of my.taler-ops.ch
DescriptionDo this first on taler.hacktivism.ch (or other private installations), then deploy on my.taler-ops.ch and test again. I can test myself to various numbers of different operators, which is enough.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0010786 closedvecirex Test upgrade of taler-merchant to v1.2.6 (from v1.2.5 in TOPS/CHF setup) 
child of 0010630 closedvecirex Set my.taler-ops.ch live [done in principle by this morning: still solving deps; work parallelized] 

Activities

vecirex

2025-12-05 05:56

administrator   ~0026753

Add some -v

vecirex

2025-12-16 19:49

administrator   ~0027037

Tested to run successfully on taler.hacktivism.ch; with exported vars

export TELESIGN_AUTH_TOKEN=...
export CLICKSEND_API_KEY=...
export CLICKSEND_USERNAME=...

it goes like this (only excerpt needed shown here):

  497 cd /var/taler-src
  498 git clone https://git-www.taler.net/challenger.git/
[...]
  512 cd /usr/local/bin
  516 ln -s /var/taler-src/challenger/src/challenger/challenger-send-sms.sh taler-hacktivism-sms-helper.sh
  517 ln -s /var/taler-src/challenger/src/challenger/challenger-send-sms-clicksend.sh taler-hacktivism-sms-helper-clicksend.sh
  518 ln -s /var/taler-src/challenger/src/challenger/challenger-send-sms-clicksend.sh taler-hacktivism-sms-helper-telesign.sh
  519 chmod u+x *
  561 echo "test" | ./taler-hacktivism-sms-helper.sh '{"CONTACT_PHONE":"+41...2"}'
  562 apt-get install jq curl # will fail first; on a bare deb sys, these two tools need to be installed
  563 echo "test" | ./taler-hacktivism-sms-helper.sh '{"CONTACT_PHONE":"+41...2"}'

Output for success:

"Message delivered successfully."

vecirex

2025-12-16 20:08

administrator   ~0027038

Unfortunately, testing it for creating a new instance, throws an error; the script is correctly configured and matches the manual approach above.

No logs using
taler-merchant-httpd --log=info
visible.

What exactly is passed as argument ($1) to the script, @sebasjm?

Above you see what's expected.

vecirex

2025-12-16 20:11

administrator   ~0027039

Two pix,

(1) showing SMS TAN activated;
(2) it failing.
sms-tan-failing.png (261,476 bytes)   
sms-tan-failing.png (261,476 bytes)   

vecirex

2025-12-16 20:16

administrator   ~0027040

Ah, wait -- RTFM: I see; the $1 argument the challenger script is using, doesn't match the documentation where it's just stated to pass the plain phone number:

"These scripts will be called by the merchant backend with the first argument being the phone number or the e-mail address, and with the message with the TAN code to send to the user on standard input."

https://docs.taler.net/taler-merchant-manual.html

I retry.

vecirex

2025-12-16 22:19

administrator   ~0027051

Last edited: 2025-12-16 22:21

OK, I created a wrapper script to not change the challenger code.

merchant-overrides.conf looks like this:

ENABLE_SELF_PROVISIONING = YES
MANDATORY_TAN_CHANNELS = email sms
HELPER_EMAIL = /usr/local/bin/taler-hacktivism-email-helper.sh
HELPER_SMS = /usr/local/bin/taler-hacktivism-sms-helper-wrapper.sh

HELPER_SMS points to a wrapper file:

root@bcead3ae4f5e:/# cat /usr/local/bin/taler-hacktivism-sms-helper-wrapper.sh
#!/bin/bash

PHONE_NO="$1"
JSON_STRING="{\"CONTACT_PHONE\":\"${PHONE_NO}\"}"
exec /usr/local/bin/taler-hacktivism-sms-helper.sh $JSON_STRING

hacktivismch11sp instance, freshly created, successfully entered by using both factors required (sms AND email).

Tested with both gateway providers clicksend and telesign, this to two cellphone providers, using three numbers; all work.

Prior instances created without sms tan, can be accessed with email tan alone: good!

vecirex

2025-12-16 22:20

administrator   ~0027052

Last edited: 2025-12-16 22:22

Ticket will be closed when effectively deployed like this on my.taler-ops.ch, restore blocking relation to 0010630 (thinking first changes to the merchant would be needed; then we would have better gone live without sms tan for a moment).

vecirex

2025-12-17 05:40

administrator   ~0027069

Working on lifeline for my.taler-ops.ch, too:

### root@lifeline:/usr/local/bin# echo "test from lifeline" | ./challenger-send-sms-wrapper.sh +4179...0
Polling message status (reference_id: 36...E0)...
Delivered to headset

That's using telesign.

Works also using clicksend, to another number:

### root@lifeline:/usr/local/bin# ls
challenger-send-sms-clicksend.sh challenger-send-sms.sh challenger-send-sms-telesign.sh challenger-send-sms-wrapper.sh lifeline-email-helper.sh
### root@lifeline:/usr/local/bin# mv challenger-send-sms-telesign.sh DISABLED_challenger-send-sms-telesign.sh
### root@lifeline:/usr/local/bin# echo "test from lifeline 2" | ./challenger-send-sms-wrapper.sh +4179...2
Message delivered successfully.
### root@lifeline:/usr/local/bin#

=> Closing

Issue History

Date ModifiedUsernameFieldChange
2025-12-05 05:53vecirexNew Issue
2025-12-05 05:53vecirexStatusnew => assigned
2025-12-05 05:53vecirexAssigned To => vecirex
2025-12-05 05:54vecirexRelationship addedchild of 0010630
2025-12-05 05:56vecirexSummaryTest SMS gateway delivery for TAN codes of my.taler-ops.ch => Configure & test SMS gateway delivery for TAN codes of my.taler-ops.ch
2025-12-05 05:56vecirexDescription Updated
2025-12-05 05:56vecirexNote Added: 0026753
2025-12-07 10:26Christian GrothoffPrioritynormal => urgent
2025-12-07 10:26Christian GrothoffTarget Version => 1.4
2025-12-15 08:54Christian GrothoffProduct Version => 1.0
2025-12-15 08:54Christian GrothoffTarget Version1.4 => 1.3
2025-12-16 19:49vecirexNote Added: 0027037
2025-12-16 20:08vecirexNote Added: 0027038
2025-12-16 20:11vecirexNote Added: 0027039
2025-12-16 20:11vecirexFile Added: sms-tan-option-made-required-on-taler-hacktivism.png
2025-12-16 20:11vecirexFile Added: sms-tan-failing.png
2025-12-16 20:11vecirexRelationship replacedrelated to 0010630
2025-12-16 20:16vecirexNote Added: 0027040
2025-12-16 20:35vecirexRelationship addedrelated to 0010786
2025-12-16 20:35vecirexRelationship replacedchild of 0010786
2025-12-16 22:19vecirexPriorityurgent => high
2025-12-16 22:19vecirexNote Added: 0027051
2025-12-16 22:19vecirexNote Edited: 0027051
2025-12-16 22:20vecirexNote Added: 0027052
2025-12-16 22:21vecirexNote Edited: 0027051
2025-12-16 22:21vecirexRelationship replacedchild of 0010630
2025-12-16 22:22vecirexNote Edited: 0027052
2025-12-16 22:27vecirexRelationship replacedrelated to 0010786
2025-12-17 05:40vecirexNote Added: 0027069
2025-12-17 05:40vecirexStatusassigned => closed
2025-12-17 05:40vecirexResolutionopen => fixed