View Issue Details

IDProjectCategoryView StatusLast Update
0010728Talerdeployment and operationspublic2025-12-17 06:40
Reportervecirex Assigned Tovecirex  
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.

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 assignedvecirex Set my.taler-ops.ch live [early 17.12.] 

Activities

vecirex

2025-12-05 06:56

manager   ~0026753

Add some -v

vecirex

2025-12-16 20:49

manager   ~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 21:08

manager   ~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 21:11

manager   ~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 21:16

manager   ~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 23:19

manager   ~0027051

Last edited: 2025-12-16 23: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 23:20

manager   ~0027052

Last edited: 2025-12-16 23: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 06:40

manager   ~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 Modified Username Field Change
2025-12-05 06:53 vecirex New Issue
2025-12-05 06:53 vecirex Status new => assigned
2025-12-05 06:53 vecirex Assigned To => vecirex
2025-12-05 06:54 vecirex Relationship added child of 0010630
2025-12-05 06:56 vecirex Summary Test 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 06:56 vecirex Description Updated
2025-12-05 06:56 vecirex Note Added: 0026753
2025-12-07 11:26 Christian Grothoff Priority normal => urgent
2025-12-07 11:26 Christian Grothoff Target Version => 1.4
2025-12-15 09:54 Christian Grothoff Product Version => 1.0
2025-12-15 09:54 Christian Grothoff Target Version 1.4 => 1.3
2025-12-16 20:49 vecirex Note Added: 0027037
2025-12-16 21:08 vecirex Note Added: 0027038
2025-12-16 21:11 vecirex Note Added: 0027039
2025-12-16 21:11 vecirex File Added: sms-tan-option-made-required-on-taler-hacktivism.png
2025-12-16 21:11 vecirex File Added: sms-tan-failing.png
2025-12-16 21:11 vecirex Relationship replaced related to 0010630
2025-12-16 21:16 vecirex Note Added: 0027040
2025-12-16 21:35 vecirex Relationship added related to 0010786
2025-12-16 21:35 vecirex Relationship replaced child of 0010786
2025-12-16 23:19 vecirex Priority urgent => high
2025-12-16 23:19 vecirex Note Added: 0027051
2025-12-16 23:19 vecirex Note Edited: 0027051
2025-12-16 23:20 vecirex Note Added: 0027052
2025-12-16 23:21 vecirex Note Edited: 0027051
2025-12-16 23:21 vecirex Relationship replaced child of 0010630
2025-12-16 23:22 vecirex Note Edited: 0027052
2025-12-16 23:27 vecirex Relationship replaced related to 0010786
2025-12-17 06:40 vecirex Note Added: 0027069
2025-12-17 06:40 vecirex Status assigned => closed
2025-12-17 06:40 vecirex Resolution open => fixed