What is the "backend'for this? I mean do they use something like twilio or something else? I am asking cause I think most such services use SIP instead of xmpp, although for messages xmpp might fit better.
It also means JMP's costs are lower (Twilio is extremely expensive) and gets more features (Twilio doesn't do group texting or messages to short codes).
While SIP does support messaging, it is extremely limited: text-only and single recipient (no picture messaging or group texts). So XMPP is a much better fit, as all the texting features people expect can be implemented over XMPP.