[BETA] Registration powered by JMP.chat - help us test it!

Someone should have already noticed the new beta version on Google Play (sorry F-Droid users) which, among other things, has support for a new registration method. The registration provider is now backed by a custom-made API made for us by the JMP.chat guys and offered it for free. For that we are grateful and you also should be because it made Kontalk cheaper - remember the biggest costs are the SMS and calls we use to verify your phone numbers. You will see a “Powered by” sign with their logo:

JMP.chat is a service that offers you a real phone number to use with an XMPP account. You can send and receive SMS and calls through your favorite XMPP client. Go take a look at their site!

This provider is currently available only in our test instance. In order to test it, you have to change the server (while no account are registered: Kontalk settings > Manual server address):


This is a call for testers. We prepared debug builds of Kontalk, both basic and googleplay versions, for you to test with this new registration method. It will install alongside your existing installation with a different icon so you can distinguish it from the original one. Set the above server address and you’ll register an account on our test server which is completely separated from the production server, but it works in the same way.

Enough with the talking! Here are the testing packages:


Be sure to change the server address before trying to register, otherwise you’ll overwrite your original kontalk.net account (the one in the production server) and the original will fail to login.

You may provide feedback here in this post and ask any question or doubts you may have.
Thank you!!!

Hi, it’s ossguy, lead developer of JMP here. We are indeed excited to be helping out a fellow free software XMPP project!

I’m happy to field any questions you might have about the JMP verification service in this thread - it’s fairly new so I’d like the receive all the feedback I can at this stage.

If you want to know more about https://jmp.chat/ itself, you can join our group chat at discuss@conference.soprani.ca (also available on the web). Or you can send me a private message through this forum if you prefer. Looking forward to chatting with you!


If I add my phone number with leading zero (e.G. 01234) I get the verification code but this code will refused.

Without leading zero it works.

And you should mention that verification calls come from USA or UK or whatever.

I’ll post a fix later today (that is, a new apk)

How do you think it should differ where the call comes from an unknown number anyway?

Maybe some people will be uncertain if the call come from e.g.USA.

If they prepared for it, it will be better I think.

So you could show something like:

The verification call possibility come from USA or other states.

Another small thing.

If I start the App, put my name and close the App by using the home button without add my number and then I come back…
… there appears the toast “the key is generated in background”.

I think in this moment it’s wrong!?

I guess a small hint couldn’t hurt :slight_smile: I’ll add that.

No, that is actually the debug version showing that message and it’s correct because starting a new registration will trigger a new key to be generated. I’ll remove it because it really serves no purpose.

I’ve updated the links in the first post with a new version (237), fixing those issues.

OK, now it works.

But I have concerns with the fall back method. I think many people don’t speak english good enough to understand and remember the spoken verifications code.

Do JMP also provide the “missed call method” as fall back?

The SMS seems to come unreliable.

But may be it’s because I test very hard :wink:

Register, delete account, register again, waiting for fallback…

I try to catch all possible cases.

It would be great (if possible) to speak the code in the language where the phone number come from. I think it should be possible to extract the contry code of the number and call the right audio files.

I’m not a dev. Only a stupid user :wink:

But I think to catch users it’s really important to be userfriendly as possible. Especially the native language.

This would be also good for the JMP project to be multilingual.

You see, english is not my native language :yum:

Thanks for the feedback! I would be happy to add support for other languages - it looks like the text-to-speech engine that I’m using supports 4 other languages (Spanish, French, German, Italian) and so all I would need is translations of the existing English phrases into those languages. Are you able to provide a translation for one or more of those languages?

For reference, here are the strings that are currently used:

  • SMS code delivery: “Your Kontalk verify code: [code]”
  • call code delivery: “Your Kontalk verification code is [code]”
  • call code expiry: “Your Kontalk verification code has expired. Please try again.”
  • call error (rare): “Your Kontalk code is unavailable. Please try again.”

Please feel free to send me the translations here or by private message (or point people at the JMP group chat to discuss the translations there: https://anonymous.cheogram.com/discuss@conference.soprani.ca ).

I’m also open to hearing what the right language would be to use for certain countries - some may be straight-forward (France, Germany), while with others I don’t know for sure which is the right default language to use (Switzerland, Belgium). I’d be happy to hear from people familiar with the language customs in different countries about which languages might be best to use.

I can add support for languages beyond the above 5 to the SMS code delivery messages as well, and perhaps even the spoken text (if I can find people willing to record the messages and the numbers 0 through 9 in their native language). Feel free to reply here or private message me if you can do that or know someone who can.

In the long run, https://jmp.chat/ itself will support more languages, but since we currently only offer US and Canadian phone numbers, there probably aren’t a lot of people using it or likely to use it who don’t speak English. If you are willing to translate the main page, though, we’d be quite happy to work with you on that.

I appreciate your feedback on the fall back methods. I think the language part I covered in my previous reply so I’ll discuss the other fall back feedback here:

JMP will not provide the “missed call method” as a fall back, since it provides little indication that the user actually owns the number they claim to be using (Caller ID spoofing is relatively easy). It is, in fact, because of this property that I offered JMP’s verification method to Kontalk to begin with: https://github.com/kontalk/androidclient/issues/989 .

Can you provide me some more details about when you are receiving or not receiving SMS? For example, let me know the following:

  1. the exact times at which you started the verification process
  2. the exact times at which you received the SMS (or calls)
  3. any other times of relevance (when the Kontalk app went to the next step, verified your code, etc.)

Note that if you try to start the verification more than once within a 5-minute window that the verification will not restart, since it takes 5 minutes to try all the methods (one SMS and then two calls). So it would help if you retry the verification to wait 5 minutes before doing so. If you think there are legitimate cases where users are likely to start at the beginning of the verification process with the same phone number more than once within 5 minutes, I would be happy to entertain ways that we could modify the JMP verification method to support such use cases.

1 Like

Hi @ossguy
here are the translation for german (I have testet the “call strings” with google TTS engine):

  • SMS code delivery: “Your Kontalk verify code: [code]”
    –SMS code delivery: “Ihr Kontalk Verifizierungs-Code: [code]”

  • call code delivery: “Your Kontalk verification code is [code]”
    –call code delivery: “Ihr Kontalk Verifizierungs-Code lautet [code]”

  • call code expiry: “Your Kontalk verification code has expired. Please try again.”
    –call code expiry: “Ihr Kontalk Verifizierungs-Code ist abgelaufen. Versuchen Sie es bitte noch einmal.”

  • call error (rare): “Your Kontalk code is unavailable. Please try again.”
    –call error (rare): “Ihr Kontalk-Code ist nicht verfügbar. Versuchen Sie es bitte noch einmal.”

For Switzerland an Austria you can use german I think.
I only can support german. For other languages we need help of other translaters!!!

As I already said in your chatroom. The missed SMS I can’t reproduce.
Maybe I have not waited long enogh between my tests. Thats not the normal case.

For your main page I will take a look how much work it will be.
I’m married :stuck_out_tongue: If you know what I mean…
Maybe you should use Weblate (like Kontalk do) or Transifex for translating. I think there you can catch more translaters.

Thank you for provide your service to Kontalk.

1 Like

Thanks very much for those translations! I’ll work on getting those into the JMP verifier for the relevant countries - it may be a week or two before all the work is done, though.

If you do happen to reproduce the missed SMS issue you saw earlier, please do let me know. I’m quite interested in making the SMS mode work as much as possible so the call fall back is seldom needed.

It’s a long-term plan for me to get https://jmp.chat/ properly setup to accept translations, in one or more of the ways you mentioned. This is really about getting https://gitlab.com/ossguy/jmp-register setup for translations, since it’s the code (and associated text) behind https://jmp.chat/ - should be straight-forward to do once I get the time.

1 Like

Do you also want a Dutch translation? If so I can do that for you.

1 Like

Thanks for the offer! While I would use a Dutch translation in the long run, I won’t be able to use it immediately since my text-to-speech engine does not support Dutch yet. But if it’s quick for you to do and you’d like to leave it here for the future, a Dutch translation would be great!

Only 4 sentences, that’s no problem

For reference, here are the strings that are currently used:

  • SMS code delivery: “Your Kontalk verify code: [code]”
    "Uw Kontalk verificatie code : [code]

  • call code delivery: “Your Kontalk verification code is [code]”
    “Uw Kontalk verificatie code is [code]”

  • call code expiry: “Your Kontalk verification code has expired. Please try again.”
    “Uw Kontalk verificatie code is verlopen. Probeerd u het het nog eens.”

  • call error (rare): “Your Kontalk code is unavailable. Please try again.”
    “Uw Kontal code is niet beschikbaar. Probeerd u het het nog eens.”

Thanks very much! I will include the call-based ones once we have Dutch text-to-speech support, and the SMS delivery one after I write up the necessary changes to have the JMP verifier detect country codes and deliver the message in the requisite language.

1 Like

You know it would be even nicer that you support the lg parameter for explicitly stating the language:


Italian strings in the meantime:

  • SMS code delivery: “Your Kontalk verify code: [code]”
    –SMS code delivery: “Il tuo codice di verifica Kontalk: [code]”

  • call code delivery: “Your Kontalk verification code is [code]”
    –call code delivery: “Il tuo codice di verifica Kontalk è [code]”

  • call code expiry: “Your Kontalk verification code has expired. Please try again.”
    –call code expiry: “Il tuo codice di verifica Kontalk è scaduto. Riprova.”

  • call error (rare): “Your Kontalk code is unavailable. Please try again.”
    –call error (rare): “Il tuo codice di verifica Kontalk non è disponibile. Riprova.”

Thanks for those as well! Looks like we’re getting much closer to having all the supported text-to-speech languages ready to go. :slight_smile:

I’m fine with supporting the lg parameter instead, as you suggested. That makes things easier for me, since I don’t need to do the language detection based on number myself (which probably isn’t as good as using whatever Kontalk would pass to me). I’ll let you know when that part is ready to test - it may take a few weeks as I have some trips coming up.

1 Like