-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Feature: delayed commands #2497
Comments
It's a very useful feature. I know quite a few users implemented similar functionality themselves. Not sure about SMS commands. Technically SMS commands can be more useful, but require some gateway to send messages. Probably mobile phone can be used for that. |
I have not found any open-source android application for remote SMS sending. Anyway, I think it's worth to implement internal delayed commands, we can re-use part of its infrastructure to sens SMS in future. |
I have few a suggestion to make on sending SMS.
|
The first one covers only part of users, that installed traccar on real hardware. But big part use VPS/VDS and can not install modem/connect phone to server. Also, some devices accept SMS only from approved numbers, they won't work with services which do not send CallerID or send dinamic CallerID |
@Abyss777 Yes both of it is true you are right. But some providers, do allow sending SMS from VNM (Virtual numbers) so maybe we can make provision for web-services based SMS sending option. this way if the user has an option to have Virtual Number, he can keep that number as approved number and utilize this feature. The same is possible with SMPP protocol as well. (But like you said, not all providers or region support) dynamic or numeric valid numbers. |
Another problem with web-services is they really Zoo. I studied a few push-services API to implement push notification. It is really impossible cover all. One use POST, other GET, one accept authorization in request, other in header, one use JSON, other XML and so on. Wrapper will be really complicated. |
Then, All I can think of is implementation of SMPP Protocol for SMS.
SMPP can also have virtual numbers assigned to the account. |
I think SMPP is the best option. It would also be nice to find or implement a mobile app that would act like SMPP server. |
I've found one https://play.google.com/store/apps/details?id=com.ozeki.androidsmppsmsgatewayfull |
Nice, so there is already an existing solution. |
If there is a ever a need for SMPP accounts, for testing, Please do let me know I can try to get a LIVE SMPP accounts for testing purposes. (In the country you would want to test it for). from my current SMS Provider who does have international routes. |
@tananaev how do you feel, what is the ratio of protocols where:
and
I mean which are more? |
I don't have much insight into SMS commands, but I think most of the time they are different. Or often SMS commands are wrapped into a packet with some special header and ending to be transmitted over GPRS. |
The next question is, how do you think, should SMS commands be some kind extension of protocol encoders and be like fallback transport or they will be something totally different? Also may be... some day... we will implement SMS decoders to some protocols. |
I guess they can be separate encoders. Decoders can also be separate from GPRS versions. But everything can still be based about Netty framework. |
I'm not sure if we can put SMS (received by other library) to Netty queue. But if we can it would be great. |
If we use SNMP protocol for SMS, we can use Netty for it. That was my idea. |
Hello, @jaimzj |
Hello @Abyss777 Yes I can provide you the accounts, but I might need a day or two, as I am currently travelling (around 19th february i can email you with the details is that okay?) |
@jaimzj Sure, it is OK. |
Want to come back to queued/delayed protocol commands because of a few reasons...
|
Sure. It's one of the frequently requested features. |
I believe |
Maybe user wants to execute something immediately. For example stop engine, so he can't wait and wants to force use SMS straight away. |
He can tick "Send via SMS" in Send Command dialog. |
Then I agree that it's basically useless if we implement queue. The only corner case I can think of is when server is stopped we would probably lose all the buffered commands, so user might want to send SMS as a last resort. Or do we plan to store commands in the database? It might be too complicated. |
No, I do not have plan to store buffered commands in DB, at least for now. |
Not after, but before. In the |
Interesting idea, but I think we need other config flag for that For me corner case is when user select online device, want to stop engine immediately (his car is stolen), but while he selecting command device becomes offline. He push "Send" and command is put in buffer. If he noticed that device became offline he have to send command again via SMS, but if he misses that he may lost priceless time. |
I suggest we remove the flag for now and don't implement shutdown until people ask for it. It seems like a real rare corner case. |
OK. One more thing...
|
Noticed one thing, why do not we remove device from |
It's interesting, are there any other protocols accepted commands in response? |
I believe we should buffer commands only if device is not online. We should not catch exceptions. Unknown status can go either way. I don't really have any preference. Unknown can still be connected, but just not reporting, but it also can mean dead connection. Probably makes more sense to remove them. |
We already support commands queue. |
There are some devices that do not keep tcp connection. Send data and close it.
Other devices can be configured to wake up rather rarely (once a hour/day/week).
Sometime it is really hard to catch when device is online.
We can implement some kind of delayed commands.
I see it like:
There are some possible problems that also should be solved: interface to flush queues, command expiration and may be others.
Or we should not spent time to such solution and direct our efforts to fallback on sms commands...
@tananaev what do you think?
The text was updated successfully, but these errors were encountered: