UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    The MMS lost story

    Scheduled Pinned Locked Moved OS
    133 Posts 16 Posters 54.8k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • E Offline
        Emphrath @lduboeuf
        last edited by

        @lduboeuf thanks a lot for that fix. I guess it won't be merged in this OTA ?

        lduboeufL 1 Reply Last reply Reply Quote 0
        • lduboeufL Offline
          lduboeuf @Emphrath
          last edited by

          @Emphrath yes not possible as OTA-14 is feature freezed

          1 Reply Last reply Reply Quote 0
          • lduboeufL Offline
            lduboeuf
            last edited by lduboeuf

            So i did the "quick" (not so quick) work around.
            To have notification of an issue with MMS while receiving, you need to install:

            sudo ubports-qa install PR_nuntium_3
            sudo ubports-qa install PR_telephony-service_13 (if you want to have the notification )
            sudo ubports-qa install PR_messaging-app_248 (if you want to have it displayed in the messaging-app)

            A quick test:
            Turn off cellular-data, send a MMS to your device, you should be notified something went wrong.

            screenshot20201029_141158395.png

            G 1 Reply Last reply Reply Quote 1
            • G Offline
              Giiba @lduboeuf
              last edited by Giiba

              @lduboeuf

              I have to agree something is better than nothing... I'm hoping the efforts to update ofono bear fruit for this long standing issue.

              Does anyone know why fixing this rather basic feature has been so long without resolution?

              As for the error text, I feel the wording should properly place blame on the OS as opposed to making it sound as if the sender is at fault 😁

              Something like:

              Oops, there has been an error with the MMS system and this message could not be retrieved.
              Please ensure Cellular Data is ON and MMS settings are correct, then ask the sender to try again.
              
              flohackF lduboeufL 2 Replies Last reply Reply Quote 0
              • flohackF Offline
                flohack @Giiba
                last edited by

                @Giiba well bad news first, the version of ofono that Canonical decided to use and that we continued using is now rather a fork than a downstream. So current ofono version were heavily refactored, but our patches do not apply anymore. Theree had to be a lot of fiddling to make ofono even possible for Android back then.

                So we are bascially stuck with that ofono, and thats it.

                But, for MMS thats not a problem of ofono at all. MMS is such a weird feature that we need 2 or 3 backend services to handle them. So the "rather basic feature" is in fact a very complex interaction with a lot of state-keeping between retries, eventual reboots etc. You need to track incoming informational SMS correctly, track the download of the actual MMS and store the media somewhere. Its rather like a small web service client that needs to be brought up, with a database that persists all the inner state variables.

                I personally hope MMS will die one day, its subpar to every messenger you can have, even email is better. Why? Because its so fragile and not even all carriers support it properly. Then you need the frickin´ APN settings for MMS which can be different to internet. The standardization is a joke. You can´t send an MMS to me for example since my contract does not include them. Its a very very ancient thing compared to Telegram Signal etc.

                My languages: 🇦🇹 🇩🇪 🇬🇧 🇺🇸

                G lduboeufL 2 Replies Last reply Reply Quote 1
                • G Offline
                  Giiba @flohack
                  last edited by

                  @Flohack
                  Thanks for the insight, it makes more sense now and would seem to justify @lduboeuf 's solution. A person should at least know something was missed.

                  1 Reply Last reply Reply Quote 0
                  • lduboeufL Offline
                    lduboeuf @flohack
                    last edited by

                    @Flohack said in The MMS lost story:

                    Its a very very ancient thing compared to Telegram Signal etc.

                    Yeah another aborted standardisation. Will RCS take off one day ?
                    Here in France MMS is still wildly used, especially for "basic" phone users.

                    G 1 Reply Last reply Reply Quote 2
                    • lduboeufL Offline
                      lduboeuf @Giiba
                      last edited by

                      @Giiba Thanks for the proposition

                      1 Reply Last reply Reply Quote 0
                      • G Offline
                        Giiba @lduboeuf
                        last edited by Giiba

                        @lduboeuf
                        MMS is extremely common in Canada too. I've switch a device back to Android for the next few weeks because I need to reliably recieve some MMS's.

                        By basic I mean expected minimum feature set for a simple user. In Canada it would be GSM/LTE, SMS, MMS, and a camera. No one in my sphere is interested in UT simply because they use MMS too much.

                        I certainly don't intend to imply anything is 'simple' to implement. Reminds me of the Captive Portal issue, where I've gotten good at figuring out the right address but sure have no idea how other systems guess at this... but they do get it right all the time.

                        flohackF 1 Reply Last reply Reply Quote 1
                        • lduboeufL Offline
                          lduboeuf
                          last edited by

                          UI follow up: https://forums.ubports.com/topic/5102/ui-for-mms-errors

                          1 Reply Last reply Reply Quote 0
                          • flohackF Offline
                            flohack @Giiba
                            last edited by

                            @Giiba BTW captive portal solution is much simpler and still no ine stepped up to do it 😉

                            My languages: 🇦🇹 🇩🇪 🇬🇧 🇺🇸

                            1 Reply Last reply Reply Quote 0
                            • FlaF Offline
                              Fla
                              last edited by Fla

                              Just a notification to say that MMS is the main pain for me when using UT as it has a deep impact, people expecting me to know / do something when I don't have the info.
                              I'm willing to pay 100euros to anyone allowing me to know that I received a MMS when I don't have internet turned on and with a link to actually download it.

                              jezekJ 1 Reply Last reply Reply Quote 0
                              • AppLeeA Offline
                                AppLee @lduboeuf
                                last edited by

                                @lduboeuf said in The MMS lost story:

                                https://github.com/ubports/nuntium/pull/3, https://github.com/ubports/telephony-service/pull/13, https://github.com/ubports/messaging-app/pull/248

                                I read your modification and read a bit of code around by curiosity.
                                I noticed this possible error line 490:
                                attachmentCount = imageCount + videoCount + contactCount;
                                It should be:
                                attachmentCount = imageCount + audioCount + videoCount + contactCount;

                                I didn't get deep in the code, but I if I'm correct, a message with only audio will trigger the error message.

                                1 Reply Last reply Reply Quote 0
                                • jezekJ Offline
                                  jezek @Fla
                                  last edited by jezek

                                  @Fla said in The MMS lost story:

                                  ...allowing me to now that I received a MMS when I don't have internet turned on and with a link to actually download it.

                                  In my country, this service is covered by operator. I seldom turn on mobile data. Without it I can't receive MMS, as you stated, too. But after a day an SMS from my operator comes, with text that I missed an MMS and it provides me an link (with password) where I can download it.

                                  Edit: typo

                                  jEzEk

                                  lduboeufL 1 Reply Last reply Reply Quote 0
                                  • lduboeufL Offline
                                    lduboeuf @jezek
                                    last edited by

                                    @jezek I saw that you like the go lang on your profile, do you know nuntium ( the mms agent) is written in go ?

                                    jezekJ 1 Reply Last reply Reply Quote 0
                                    • jezekJ Offline
                                      jezek @lduboeuf
                                      last edited by

                                      @lduboeuf said in The MMS lost story:

                                      @jezek I saw that you like the go lang on your profile, do you know nuntium ( the mms agent) is written in go ?

                                      No, I didn't know. I have no firm comprehension how the message stack works. But, maybe I can help, if you point me in the right direction. What problem do you want to solve?

                                      jEzEk

                                      lduboeufL 1 Reply Last reply Reply Quote 0
                                      • lduboeufL Offline
                                        lduboeuf @jezek
                                        last edited by

                                        @jezek said in The MMS lost story:

                                        No, I didn't know. I have no firm comprehension how the message stack works. But, maybe I can help, if you point me in the right direction. What problem do you want to solve?

                                        Well the final goal for MMS retrieving issue is to provide a deferred download mechanism.
                                        Currently nuntium even if Cellular-data is off try to fetch the mms and fail silently if any issue.
                                        We would need to store the incoming WAP push notification, and propagate the issue to upper layer so that it can be tried later by user action.

                                        jezekJ 1 Reply Last reply Reply Quote 0
                                        • jezekJ Offline
                                          jezek @lduboeuf
                                          last edited by

                                          @lduboeuf said in The MMS lost story:

                                          Well the final goal for MMS retrieving issue is to provide a deferred download mechanism.
                                          Currently nuntium even if Cellular-data is off try to fetch the mms and fail silently if any issue.
                                          We would need to store the incoming WAP push notification, and propagate the issue to upper layer so that it can be tried later by user action.

                                          To be sure, we are on the same page, you are reffering to https://github.com/ubports/nuntium repository, right? Have you any exact issue in mind?

                                          A few questions for previous maintainers or just people of knowledge, so I don't have to search and can jump on the train faster.

                                          • How to compile and test nuntium. Is there any special way? What is the best pratice? Compiling on computer, then transfer files? I have only one phone and with UT as main driver and I don't want to break it for long time.
                                          • Is there any documentation/specification for MMS available?

                                          jEzEk

                                          1 Reply Last reply Reply Quote 0
                                          • lduboeufL Offline
                                            lduboeuf
                                            last edited by lduboeuf

                                            @jezek said in The MMS lost story:

                                            To be sure, we are on the same page, you are reffering to https://github.com/ubports/nuntium repository, right?

                                            Yes

                                            Have you any exact issue in mind?

                                            See issues on this repo, the more important one is the deferred download (https://github.com/ubports/nuntium/issues/1)

                                            A few questions for previous maintainers or just people of knowledge, so I don't have to search and can jump on the train faster.

                                            How to compile and test nuntium. Is there any special way? What is the best pratice? Compiling on computer, then transfer files? I have only one phone and with UT as main driver and I don't want to break it for long time.

                                            Normally it compiles with crossbuilder, but i was not lucky last time 😕 , or by making a PR, the CI will build nuntium for you and then you can add it with the ubports-qa script.

                                            Is there any documentation/specification for MMS available?

                                            See architecture in the Readme and/or: http://docs.ubports.com/en/latest/systemdev/mms-infrastructure.html ( note that this doc is more a specification than the actual way it works; especially talking about the Incoming MMS workflow )

                                            1 Reply Last reply Reply Quote 1
                                            • jezekJ Offline
                                              jezek
                                              last edited by

                                              @lduboeuf thanks. I've cloned the repo locally and managed to get testcoverage script working.

                                              $ ./scripts/testcoverage.sh                           
                                              ?   	_/home/jezek/Projects/nuntium/storage	[no test files]
                                              # _/home/jezek/Projects/nuntium/ofono
                                              ofono/manager.go:100: Print call has possible formatting directive %s
                                              ofono/push.go:105: Errorf call needs 2 args but has 3 args
                                              ofono/pushagent.go:86: Print call has possible formatting directive %s
                                              FAIL	_/home/jezek/Projects/nuntium/ofono [build failed]
                                              FAIL
                                              ?   	_/home/jezek/Projects/nuntium/telepathy	[no test files]
                                              ?   	_/home/jezek/Projects/nuntium/test	[no test files]
                                              ?   	_/home/jezek/Projects/nuntium/cmd/nuntium-inject-push	[no test files]
                                              ?   	_/home/jezek/Projects/nuntium/cmd/nuntium-decode-cli	[no test files]
                                              ?   	_/home/jezek/Projects/nuntium/cmd/nuntium	[no test files]
                                              ok  	_/home/jezek/Projects/nuntium/mms	0.010s	coverage: 45.3% of statements
                                              

                                              It is also possible to build cmd/nuntium using standart go build procedure.

                                              I will investigate the ubports-qa script, to see what it is doing, cause I don't want to push, then wait for github to compile and install via script after every change. I also see couple of test tools in the project dir and a lot of reading stuff.

                                              @Flohack I see, you contributed to nuntium project. Do you have any insights, how to test changes, or do you know anybody who can give me a quick tutorial?

                                              jEzEk

                                              1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post