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
unable to sync - api error 'missing_method' #262
Comments
I am seeing the same issue. It was working a few days ago, but I noticed this just now and came here to search. |
This is a VoIP.ms issue -- they may have removed one of the API methods that the app uses, or the API might be broken in some other way. I have not had a chance to investigate yet. You will need to contact them for assistance, at least in the short term. |
According to Eduardo from voip.ms chat, no changes were made on their end. I have a ticket open. |
Same issue here. Tried to open a ticket with Voip.MS, but got a reply: "Given that this is a third party app, I suggest you contact its developer to report this issue, as this is outside the scope of our support" |
I can confirm I'm having the same issue. I was texting fine this morning but getting the api error missing_method now. |
That seems unlikely. The app was last updated six months ago, but this only started happening today. I will hopefully have some time to investigate tonight or in the next few days to see if I can identify what changed and whether I can implement a fix or workaround. |
voipms claims the issue is not on there end. This could be true, however many times in the past they have made this claim, sometimes it has not been the case. So it very well might be their playbook to just always say this first. |
To add more info to help in debugging: Using Android 13, Pixel phone. |
i'm on android 14, also app store version |
To quote from my VOIP.ms support ticket
|
NOT working on Android 10 or 11 either... |
Same error for me as of today, fdroid version, lineageos android 13. |
As expected, this is a VoIP.ms issue. There are two ways to make VoIP.ms API requests: GETs with query parameters, or POSTs with multipart/form-data. The app uses the latter method. It appears that all POSTs with multipart/form-data are now being rejected with the EDIT: This is not correct -- see @Wyzzcow's comment below: #262 (comment) |
I've relayed this information in my ticket, but I encourage everyone else to do the same so that they take it seriously. Thanks again. |
@michaelkourlas How did you even find the rest api? On the voip.ms page, they seem to only have documentation for soap (wsdl), so how did you discover how to use https://www.voip.ms/api/v1/rest.php :) Using the web SMS center, it does use these fields in the post data It does use a different endpoint https://voip.ms/m/communications.post.php so who knows! |
Does anyone have a simple example case we can use to highlight this issue? The best would be something using their example code/suggestions. I don't think there's much doubt the issue is at the voip.ms end, as the client app has been stable without change for months (if not years), but the "not our app so not our problem" response is typical. If it's easy to come up with a small code example that anyone can use of their API fail, one would hope we can get some Tickets accepted and handled promptly. |
@Wyzzcow : Their examples reference https://www.voip.ms/api/v1/rest.php directly. |
@divsys1 Yea, saw those, but a few api calls don't really count as api documentation for the rest api. But I guess the rest api is a direct mapping to the soap api. The examples for the REST api are pretty terrible though |
Tried a few examples from voip.ms example code (lookup server info) and they seem to work w/POSTs. Still would love to get a simple example to add some more pressure on the tickets from the user end. |
From Voip.ms ticket:
|
So I think I figured out the problem. Changing the URL to https://voip.ms/api/v1/rest.php fixes the issue. But unfortunately, the value is hardcoded. |
If that's the case, here is a patch to fix it: |
Thanks, @Wyzzcow -- will hopefully have time to take a closer look this evening. |
Confirming what @Wyzzcow said - they changed the https://www.voip.ms URL to be a 301 redirect to just https://voip.ms/ |
And because voip.ms has been oblivious to what they did - so I'll be snarky: I can't believe the site is claiming to be run on PHP v5.4 (ie: Jun 2013)? (At least that's what it reports in the headers when doing a curl request). ooof.
|
If they used a 307 instead of a 301, that might fix the problem. |
@drouleau5 happened to me too |
@yulman19 Generally a public post-mortem is what I hope to see when companies make such mistakes. Let's see if they publish something. |
Here is a response I got from VoIP ms support warning me that the developer may have access to everything and to be careful. |
@rombo121 While I would not expect this kind of response from support, I would say you should be aware of the implications. If you use the google-play version, you add something like the following to your voip.ms account: What this does is sends a GET request (not POST which would make much more sense voip.ms) with some data about the incoming text message. That is then relayed to your phone so you get a notification, rather than having to constantly poll. It's a very useful feature. Michael's server can see all that data. So you probably want to keep that in mind. |
@purpleidea Good to know, I am glad I don't use google play services. |
Any idea when the update should be ready on Google? It's much easier for me to download it this way rather than installing from apk. Support from VOIP told me to use Zoiper and not use this app because they say each time they change the code it stops working. @purpleidea : I'm not sure I get what you are saying. Are you saying that by using this app everything I write can be read by the person who wrote the app, each time I send an SMS? Is there anything that can be done to avoid this? |
Log in to your voip.ms account. Click on "manage DID's" -> EDIT (on the phone number you're asking about) -> Scroll down to "SMS/MMS URL Callback" as shown in my screenshot. Paste the entire text from that box here and I will tell you. |
I see a GET request to "https://voipmssms-notify.kourlas.com/?did={TO}" Does it mean every SMS I text goes to there and the guy who wrote the app sees everything I write? This is crazy. Is it the same with other apps, like Zoiper? And can the guys at VOIP see my SMS as well? |
They can see every text message you send or receive. That's why you should switch to an app like signalapp which is end-to-end encrypted. Michael's server gets data on whatever {XXX} fields you have added there. So that's your phone number. Unfortunately, since it is a GET request and not a POST, many servers who log get this information in the logs. This is an issue with how voip.ms handles callbacks, you should get them to support sending that over POST. |
I'm not tech-savvy, so basically, just so I understand : can VOIP staff read my SMS and if I use another third-party app, like Zoiper, can they read my SMS? I didn't understand what you mean with GET and POST... I just want to know if my SMS are safe with Zoiper or with VOIP.ms per se. Thanks! |
HTH |
From the app's documentation:
The Cloudflare Worker is open source: https://github.com/michaelkourlas/voipms-sms-push-notifications |
@muffin-p, the app available for download in the Releases section of this repo is the Google Play version. The F-Droid version (which does not support push notifications) can be downloaded from the F-Droid website, though I don't think they've built the latest update yet. |
Ah Thank you! I have always used the F-driod version (I am on a degoogled android), for now I am using the apk you built, but I will install the f-droid version as soon as they build it. Appreciate your hard work :-) |
How smooth will Signal App work with Voip.ms, let's say, in comparison to Zoiper? I already use Zoiper for phone with VOIP; would it be better? Does it work with my phone number and let me send SMS? I was pretty happy with this app, but I don't understand why there is some kind of link that send my information to kourlas.com website. |
Thanks Michael for the quick fix.
You say you aren't tech-savvy but these days with AI explainers at your fingertips, that's just another way of saying you are lazy. You could have searched for the answer with six words. |
Wait... what??? I can use signal for voip.ms texting? I can't seem to find any instructions on how to do that. Can someone please post a link? |
I am not lazy; I just wouldn't know how to start. You make it sound so simply, yet for someone who is not tech savvy this is way beyond complicated. As for IA, I don't know a thing about those things. @muffin-p same here... I didn't find anything about it. Maybe he's wrong?! |
You can't use Signal to send SMS messages using a VoIP.ms DID. Signal is just another messaging app that happens to use end to end encryption, which is more secure than SMS. |
Google has notified me that the update is now available in the Play Store. |
@michaelkourlas Can you read our SMS when we use your app and if not why is there a GET command linking to your website from VOIP.ms? |
Your question has been answered here: #262 (comment) |
|
I'd like to clarify here that the app's use of "www.voip.ms" rather than "voip.ms" was almost certainly an error I made way back in 2014, when I was first developing it. Although the 301 redirect is new, code from other projects using the VoIP.ms API on GitHub (e.g. this one) suggests that the documentation said to use "voip.ms" (not "www.voip.ms") for a long time, if not always. "www.voip.ms" worked for many years, but it was undocumented behaviour. |
Thanks for the clarification. Kudos withe the good work. |
@drouleau5 Thanks for sending out an email! |
Just a reminder that you can buy @michaelkourlas a coffee if you enjoy what he does... https://paypal.me/kourlas |
@michaelkourlas |
The callback is used to support push notifications -- that is, to support the ability to receive notifications immediately when you receive an SMS, rather than at periodic synchronization intervals. The callback is configured to contain your DID only and not the text of your messages (unless you've changed it for some reason). The callback triggers the sending of an FCM message to your Android device, which then tells the app to synchronize with VoIP.ms's servers and display a notification. The source code of the server that handles the callback and sends the FCM message can be found here. This is the code running on https://voipmssms-notify.kourlas.com/ (though you can't verify that, ultimately -- you have to trust me). However, you can verify what is sent to that server by looking at the "SMS/MMS URL Callback" setting in the DID configuration. |
I can't send or receive messages all of a sudden, I get the api error 'missing_method'. Any suggestions?
The text was updated successfully, but these errors were encountered: