Connect XMPP with WhatsApp using yowsup and transWhat

Hasn't it happened to you that communication with your friends, family, etc. is made difficult by the simple fact of not using WhatsApp? Sure, it's a quick, easy, and cross-platform solution, but it doesn't respect the freedoms and rights of users. I know many people in the world of free software who have been forced to install it because there is no other way to communicate with those who need to do it (be it for work, school work, or simply keep in touch with their loved ones). However, with yowsup and transWhat that is over. With both, you can chat with WhatsApp users, be in their groups and more, using the best-known decentralized instant messaging network: XMPP.

What are yowsup and transWhat?

Yowsup is a python library that allows you to create applications that use the WhatsApp service. Yowsup has been used to create an unofficial WhatsApp Nokia N9 client through the Wazapp project that was in use by 200K + users, as well as another completely unofficial client for Blackberry 10. On the other hand, transWhat is a gateway to link between XMPP and WhatsApp instant messaging networks.

Brilliant! How do I start?

The basic requirements are:

  • Have pip installed.
  • Create an XMPP account (if you don't have one) with support for the transWhat gateway. For example,
  • Have a mobile phone number.
  • Have an advanced XMPP client, for example Gajim, with the XMPP account to be used configured.

So, get to work!

From a terminal, install the yowsup2 package with pip as root.

# pip install yowsup2

After you have installed it, make sure that in the file /usr/lib/python3.6/site-packages/yowsup/env/ in DEFAULT variable it says "Android" (including the quotes), read this comment from an issue from yowsup's GitHub repository.

Make account

To create an account with yowsup, you must run the following command:

$ yowsup-cli registration -E s40 -r sms -p <phone_number> -C <country_code> -m <country_mobile_code> -n <network_mobile_code>

So, as Jack the Ripper said, let's go part.

  • <phone_number> it must be the complete telephone number, with the country code, except for the + sign
  • <country_code> corresponds to the country code, if you do not know yours, see it here.
  • <country_mobile_code> It is the MCC that you can find here.
  • <network_mobile_code> It is the MNC that you can also find on the same page as <country_mobile_code>

If everything works, something like this should appear at the end of the command, you should receive a text message with the code to register, similarly write:

$ yowsup-cli registration -E s40 -p <phone_number> -C <country_code> -m <country_mobile_code> -n <network_mobile_code> -R <sms_code>

Where <sms_code> corresponds to the code you received on your cell phone. The output of the command, near the end, you should get something like:

INFO:yowsup.common.http.warequest:b'{"status":"ok","login":"<phone_number>","type":"existing","pw":"FBmvgZs8UUbSX2ZHeVyxc7G7g4s=","expiration":4444444444.0,"kind":"free","price":"US$0.99","cost":"0.99","currency":"USD","price_expiration":1497967560}\n' status: b'ok' login: b'<phone_number>' pw: b'<password>' type: b'existing' expiration: 4444444444.0 kind: b'free' price: b'US$0.99' cost: b'0.99' currency: b'USD' price_expiration: 1497967560

What interests us here is what is blackened. It will show you your phone number and password, which we will now use to connect XMPP with WhatsApp. Note that the letters "b" and the apostrophes are not blackened.

Connecting XMPP and WhatsApp with transWhat

So now that we have the number and password, it's time for action. If you use Gajim, go to Actions>Discover services>using the account (or the one you use with transWhat support). In the "Transport" section select "transWhat" and then click "Subscribe", it will ask for the number and password that you obtained with yowsup.

Ready! You already have a functional XMPP account with WhatsApp. To add WhatsApp contacts you have to add them with the address <phone number>@domain.of.transport>


<telephone number>: it must be the complete number but without the + sign, the same as when you registered.

To end

We hope this tutorial has helped you, share it with your friends, on social networks and you have derived from this article if you wish, remember that Conocimientos Libres is about that (o˘◡˘o)

I thank trinux, who was the person who taught me how to connect XMPP and WhatsApp.

Post a comment on "Connect XMPP with WhatsApp using yowsup and transWhat"

You can format your comment with Markdown. Avatar from Libravatar