Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MMS support #190

Open
pat247 opened this issue Jul 10, 2019 · 109 comments
Open

Add MMS support #190

pat247 opened this issue Jul 10, 2019 · 109 comments
Assignees
Milestone

Comments

@pat247
Copy link

pat247 commented Jul 10, 2019

MMS on VoIP.ms to roll out for beta testing soon.
https://www.dslreports.com/forum/r32442917-
July 9

A major enhancement for the todo list.

@michaelkourlas
Copy link
Owner

When they add API access for MMS, feel free to let me know and I'll implement support for it!

@varGeneric
Copy link

Suggest reopening because it is now available.
https://wiki.voip.ms/article/MMS

@michaelkourlas
Copy link
Owner

Feel free to reopen once it appears on this page: https://www.voip.ms/m/apidocs.php

@smnc
Copy link

smnc commented Jun 16, 2020

MMS is now available in the API doccumentation. Request to reopen.
https://www.voip.ms/m/apidocs.php
image

@murraydb
Copy link

Feel free to reopen once it appears on this page: https://www.voip.ms/m/apidocs.php

I see 27 instances of MMS on the page including getMMS and getMediaMMS

@smnc
Copy link

smnc commented Jun 16, 2020

Feel free to reopen once it appears on this page: https://www.voip.ms/m/apidocs.php

I see 27 instances of MMS on the page including getMMS and getMediaMMS

MMS has just been added to the API documentation in the last hour or so, and was not there when the previous comments were made 2 hours ago.

@varGeneric
Copy link

VoIP.ms had sent an email indicating API availability just prior to my earliest comment and I had incorrectly assumed that the doc's were up at that time.

@michaelkourlas michaelkourlas self-assigned this Jun 16, 2020
@michaelkourlas michaelkourlas changed the title VoIP.ms to implement MMS soon Add MMS support Jun 16, 2020
@oathzed
Copy link

oathzed commented Jun 16, 2020

Feel free to reopen once it appears on this page: https://www.voip.ms/m/apidocs.php

I see 27 instances of MMS on the page including getMMS and getMediaMMS

MMS has just been added to the API documentation in the last hour or so, and was not there when the previous comments were made 2 hours ago.

This is correct. It was added to the documentation about 5 minutes ago. I told support it wasn't available and they said they'd add it to be viewable by all beta testers shortly :).

@oathzed
Copy link

oathzed commented Jun 16, 2020

@michaelkourlas Maybe after this is implimented, VoIP.ms SMS app can be renamed to something like VoIP.ms Chat or VoIP.ms Messages ☺️

@michaelkourlas michaelkourlas added this to the 0.6.6 milestone Jun 17, 2020
@michaelkourlas
Copy link
Owner

The MMS documentation has been removed from https://www.voip.ms/m/apidocs.php.

@smnc
Copy link

smnc commented Jul 1, 2020

I'm still seeing it...
image
image

@michaelkourlas
Copy link
Owner

Perhaps they're showing different versions of the documentation to different people. I'm sure it's not my cache -- I tested it with a different browser I never use.

Can you provide me with a copy of the docs?

@smnc
Copy link

smnc commented Jul 1, 2020

Sure can.

@michaelkourlas
Copy link
Owner

I've also opened a ticket with them to ask about this.

@smnc
Copy link

smnc commented Jul 1, 2020

@smnc
Copy link

smnc commented Jul 1, 2020

Might be part of the beta rollout?

@michaelkourlas
Copy link
Owner

The API itself doesn't make much sense to me. We have to supply a URI to the image when sending an MMS? Why can't we just provide the base64-encoded image directly, the same way that it is returned to us using getMediaMMS?

@innovate-invent
Copy link

does a data uri work? https://en.wikipedia.org/wiki/Data_URI_scheme

@michaelkourlas
Copy link
Owner

That would be acceptable, but I can't determine that at the moment -- the API simply returns mms_failed regardless of whether I use a data URI or a normal URI.

Either the API isn't ready for public use or the functionality isn't enabled for my account.

@smnc
Copy link

smnc commented Jul 1, 2020

I'm betting that if you're not seeing the API documentation that you're not included in the beta for some reason.

@JoshMedeiros
Copy link

I believe that you need to join their Beta Access Program in order to use the API and see the documentation, which can be done here: https://voip.ms/m/beta.php

@mathieucarbou
Copy link

mathieucarbou commented Jul 4, 2020

Here are my findings. Hope it will help.

API Access and Doc

I had to:

  • Join beta program
  • set username / password
  • activate api access
  • configure my DID:

image

Note

Email option is nice because any MMS received will be redirected also to your email with the media inside. So even of the app is still not supported MMS, this option allows VOIP.MS users to still be able to receive MMS.

Get sent and received MMS

HTTP GET

https://voip.ms/api/v1/rest.php?api_username=<API_USERNAME>&api_password=<API_PASSWORD>&content_type=json&method=getMMS&from=2020-07-04

RESPONSE BODY

{
 "status": "success",
 "sms": [
   {
    "id": "15601",
    "date": "2020-07-04 16:31:30",
    "type": "0",
    "did": "5141234567",
    "contact": "4381234567",
    "message": "",
    "col_media1": "https://voip.ms/media.php?map=MTU5Mzg5NDY4OTVmMDBlNzIxY2UzMGQ1ZjAwZTcyMWNlMzVmfDF8aW1hZ2UvcG5nfE1NUw==",
    "col_media2": "",
    "col_media3": ""
  },
  {
   "id": "15589",
   "date": "2020-07-04 16:11:36",
   "type": "0",
   "did": "5141234567",
   "contact": "4381234567",
   "message": "",
   "col_media1": "https://voip.ms/media.php?map=MTU5Mzg5MzQ5NTVmMDBlMjc3NGM3Nzk1ZjAwZTI3NzRjN2IwfDF8aW1hZ2UvanBlZ3xNTVM=",
   "col_media2": "",
   "col_media3": ""
  },
  {
   "id": "15586",
   "date": "2020-07-04 16:04:06",
   "type": "0",
   "did": "5141234567",
   "contact": "4381234567",
   "message": "",
   "col_media1": "",
   "col_media2": "",
   "col_media3": ""
  },
  {
   "id": "15555",
   "date": "2020-07-04 15:26:23",
   "type": "1",
   "did": "5141234567",
   "contact": "7787641209",
   "message": "dGVzdCBtZXNzYWdl",
   "col_media1": "https://voip.ms/media.php?map=MTU5Mzg5MDc4MzVmMDBkN2RmYzYxMWM1ZjAwZDdkZmM2MTU1fDF8aW1hZ2UvanBlZ3xNTVM=",
   "col_media2": "",
   "col_media3": ""
  },
  {
   "id": "15368",
   "date": "2020-07-04 10:47:14",
   "type": "1",
   "did": "5141234567",
   "contact": "4381234567",
   "message": "Test",
   "col_media1": "https://voip.ms/media.php?map=MTU5Mzg5MDc4MzVmMDBkN2RmYzYxMWM1ZjAwZDdkZmM2MTU1fDF8aW1hZ2UvanBlZ3xNTVM=",
   "col_media2": "",
   "col_media3": ""
  }
 ]
}

Notes and issues:

  • Message 15368 has been sent through Bell.
  • Message 15555 has been sent through ClickSend. ClickSend sends message as base64 (which is ok) but Voip.MS does not seem to support this encoding type. So it is currently possible to receive messages either plain text or base64 encoded messages and I saw nothing yet in the API to distinguish betweeen both. dGVzdCBtZXNzYWdl is the B64 encoded version of test message.
  • Message 15586 is a MMS message sent through Voip.MS. There is a bug: Voip.MS is not keeping the message text.
  • Message 15589 is a MMS message sent through Voip.MS with a link to an image
  • Message 15601 is a MMS message sent through Voip.MS with a data url. Voip.MS is accepting the request (success) but the link it is generating for the image is wrong and the receiver receives an invalid / inexisting image

Sending MMS

HTTP GET

Just a message:

https://voip.ms/api/v1/rest.php?api_username=<API_USERNAME>&api_password=<API_PASSWORD>&content_type=json&method=sendMMS&did=5146604287&dst=4389901711&message=Hello%20World

Message and a media link

https://voip.ms/api/v1/rest.php?api_username=<API_USERNAME>&api_password=<API_PASSWORD>&content_type=json&method=sendMMS&did=5146604287&dst=4389901711&message=Hello%20World&media1=https://voip.ms/media.php?map=MTU5Mzg5MDc4MzVmMDBkN2RmYzYxMWM1ZjAwZDdkZmM2MTU1fDF8aW1hZ2UvanBlZ3xNTVM=

Message and a media data url

https://voip.ms/api/v1/rest.php?api_username=<API_USERNAME>&api_password=<API_PASSWORD>&content_type=json&method=sendMMS&did=5146604287&dst=4389901711&message=Hello%20World&media1=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAB+FBMVEUAAAA/mUPidDHiLi5Cn0XkNTPmeUrkdUg/m0Q0pEfcpSbwaVdKskg+lUP4zA/iLi3msSHkOjVAmETdJSjtYFE/lkPnRj3sWUs8kkLeqCVIq0fxvhXqUkbVmSjwa1n1yBLepyX1xxP0xRXqUkboST9KukpHpUbuvRrzrhF/ljbwaljuZFM4jELaoSdLtElJrUj1xxP6zwzfqSU4i0HYnydMtUlIqUfywxb60AxZqEXaoifgMCXptR9MtklHpEY2iUHWnSjvvRr70QujkC+pUC/90glMuEnlOjVMt0j70QriLS1LtEnnRj3qUUXfIidOjsxAhcZFo0bjNDH0xxNLr0dIrUdmntVTkMoyfL8jcLBRuErhJyrgKyb4zA/5zg3tYFBBmUTmQTnhMinruBzvvhnxwxZ/st+Ktt5zp9hqota2vtK6y9FemNBblc9HiMiTtMbFtsM6gcPV2r6dwroseLrMrbQrdLGdyKoobKbo3Zh+ynrgVllZulTsXE3rV0pIqUf42UVUo0JyjEHoS0HmsiHRGR/lmRz/1hjqnxjvpRWfwtOhusaz0LRGf7FEfbDVmqHXlJeW0pbXq5bec3fX0nTnzmuJuWvhoFFhm0FtrziBsjaAaDCYWC+uSi6jQS3FsSfLJiTirCOkuCG1KiG+wSC+GBvgyhTszQ64Z77KAAAARXRSTlMAIQRDLyUgCwsE6ebm5ubg2dLR0byXl4FDQzU1NDEuLSUgC+vr6urq6ubb29vb2tra2tG8vLu7u7uXl5eXgYGBgYGBLiUALabIAAABsElEQVQoz12S9VPjQBxHt8VaOA6HE+AOzv1wd7pJk5I2adpCC7RUcHd3d3fXf5PvLkxheD++z+yb7GSRlwD/+Hj/APQCZWxM5M+goF+RMbHK594v+tPoiN1uHxkt+xzt9+R9wnRTZZQpXQ0T5uP1IQxToyOAZiQu5HEpjeA4SWIoksRxNiGC1tRZJ4LNxgHgnU5nJZBDvuDdl8lzQRBsQ+s9PZt7s7Pz8wsL39/DkIfZ4xlB2Gqsq62ta9oxVlVrNZpihFRpGO9fzQw1ms0NDWZz07iGkJmIFH8xxkc3a/WWlubmFkv9AB2SEpDvKxbjidN2faseaNV3zoHXvv7wMODJdkOHAegweAfFPx4G67KluxzottCU9n8CUqXzcIQdXOytAHqXxomvykhEKN9EFutG22p//0rbNvHVxiJywa8yS2KDfV1dfbu31H8jF1RHiTKtWYeHxUvq3bn0pyjCRaiRU6aDO+gb3aEfEeVNsDgm8zzLy9egPa7Qt8TSJdwhjplk06HH43ZNJ3s91KKCHQ5x4sw1fRGYDZ0n1L4FKb9/BP5JLYxToheoFCVxz57PPS8UhhEpLBVeAAAAAElFTkSuQmCC

RESPONSE BODY

{
  "status": "success",
  "mms": 15601
}

Notes and issues:

  • I tried HTTP POST (curl -X POST https://voip.ms/api/v1/rest.php -d field1=value1 -d field2=value2 ...) but I get a SOAP error as answer. I don't know how to send these request through a normal HTTP POST (either with a form encoded payload or json payload) and I don't even know if this is supported through the REST API.
  • HTTP GET URL is length limited: this is impossible to send a 500x500px image base64-encoded
  • Not supporting the data url is really limiting because it requires to first upload somewhere the media

@yulman19
Copy link

I'd rather pay someone 5$ to completely redo it on freelancer as easy as it is.

Do it, open source. Everybody benefits. Keep us posted.

@arcegabriel
Copy link

Just checking, whether there is any plans to do this. Appreciate it!

@michaelkourlas
Copy link
Owner

Yes, I still plan to do this, but I also have a day job :P

@poleguy
Copy link

poleguy commented Jan 25, 2022

My daughter is at the age she is just getting in to text messaging with friends. I got her a voip.ms number, and she can do sms via email/web, but she asked for an app. If MMS worked reliably in an app on her tablet it would possibly keep her from needing an actual cellphone, which would be a great solution for this aged kid.

Great work on this app! I also have a day job... but right now I'm motivated by my kid, and I'm thinking about spending some time setting up and building this app to see if I can't contribute some coding time. I'll let you know if I actually get it built and then I might ask for some tips/pointers.

@Admin-A-LLC
Copy link

What am I missing about the availability of the source code? Because according to the instructions, it's right there next to the compiled releases. He has an open source and a cosed source copy, but the open source is complete enough to build the app I think? Not sure how much more work adding push notifications would be.

"The standard version of the app uses closed-source Firebase libraries to support push notifications and facilitate crash reporting and analytics, among other purposes. A version of the application that is completely open source is available from F-Droid.

Both versions are available from the Releases section of the GitHub repository."

@poleguy
Copy link

poleguy commented Jan 26, 2022

When did I say there was any trouble with source code availability? I just have to clone and build in theory. It's a matter of making time to go through the steps.

@michaelkourlas
Copy link
Owner

When I have time to look at this again, I will probably do this in two phases: support for receiving MMS first, then support for sending MMS in a subsequent release.

@poleguy
Copy link

poleguy commented Jan 30, 2022

I have successfully built the app.
I am starting to familiarize myself with the code. I've looked at all the places referencing www.voip.ms/api/ to see how sms messages are handled. I added in a very basic mms support, and it can at least retrieve the text portion of the mms messages. That's a start.
image
I'll try to tackle decoding/displaying the images next.
I'll post my work in a fork on github soon, I suppose.
I'm open to suggestions on how to proceed if anyone has any additional advice.

@poleguy
Copy link

poleguy commented Jan 30, 2022

I have pust my very basic mms support modification up to a fork: https://github.com/poleguy/voipms-sms-client

Again, I'm open to comments/suggestions/redirections/etc. as I'm really just hacking at it.

1 similar comment
@poleguy
Copy link

poleguy commented Jan 30, 2022

I have pust my very basic mms support modification up to a fork: https://github.com/poleguy/voipms-sms-client

Again, I'm open to comments/suggestions/redirections/etc. as I'm really just hacking at it.

@Admin-A-LLC
Copy link

Hell yea, right on man! I'll take any progress at this point. I really was willing to take just getting notifications that an mms had been sent cuz right now they just arrive at voip.ms and maybe I'll get a email, but I'm not that big on that. Having it show up in my sms inbox is wayyyyy better. Thanks you! I'll be checking it out now. Did compile a release build or do I need compile it?

@poleguy
Copy link

poleguy commented Jan 30, 2022

I didn't post an apk, as I just started at this. I'll try to get one up for testing as time allows this week.

@michaelkourlas
Copy link
Owner

I have added some initial work in the mms branch.

@slevind
Copy link

slevind commented Apr 26, 2022

Hey everyone, like @poleguy my daughter is just getting into texting. I have been following this thread with interest. I use voip.ms for her cell phone and sms, with a data only sim. However, it would be great to have MMS capability from the API in the voip.ms sms app. It would totally meet all her current messaging needs. I have no experience in software/app development, but I am offering my time for testing or if someone is willing to teach me enough that I can be useful or dangerous, let me know. Cheers

@LinearDynamics
Copy link

@michaelkourlas hope you are well. Are you working on this still?

@michaelkourlas
Copy link
Owner

Whenever I have the time and feel in the mood to work on it, yes.

@michaelkourlas
Copy link
Owner

As I mentioned previously, the initial release of MMS support will cover receiving MMS messages only.

Although some progress has been made in the "mms" branch, there are a number of items that have to be addressed before I would be comfortable releasing:

  • Displaying images in notifications
  • Maintaining a local cache of images, rather than just passing the URL directly to Glide
  • Support for selecting an individual image and displaying it in a larger view
  • Support for copying/sharing the image
  • Selecting a message with an image should change the image colour to make it clear that it is selected
  • Support for video/audio MMS

@michaelkourlas michaelkourlas modified the milestones: 0.7.0, future Jun 3, 2023
@BrunswickBTC
Copy link

The lack of mms is disruptive now that I completely converted to voip.ms. any way I can incentivize this feature getting done?

@oathzed
Copy link

oathzed commented Nov 30, 2023

The lack of mms is disruptive now that I completely converted to voip.ms. any way I can incentivize this feature getting done?

Use JMP.chat instead it has actual support

@cybik
Copy link

cybik commented Nov 30, 2023

@oathzed that's irrelevant

@BrunswickBTC
Copy link

The lack of mms is disruptive now that I completely converted to voip.ms. any way I can incentivize this feature getting done?

Use JMP.chat instead it has actual support

Im not going back to xmpp, 18 years is enough. Its a stagnant protocol.

@kirkawolff
Copy link

Please add mms functionality to this app. The ability to send and recieve photos are essential

1 similar comment
@kirkawolff
Copy link

Please add mms functionality to this app. The ability to send and recieve photos are essential

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests