Re: [Freeswitch-users] Push server and push capability
Forgot ccs On 7/29/12, Prasd D <prasd.d.b@gmail.com> wrote:
Hi Regis,
Thanks for throwing light on this.
I fully agree with you on your first reason, and the initial general comment.
AFAIK, what is done in C2DM is not magic. It should not be impossible to reach same thing on a third party app.
I agree with you that we can have two sockets open.
This is what I gather from what you put down above and have questions :
- Presently push has only one socket open. 100% agree with you it should not rely on a specific push provider - A 3rd party app or something within csipsimple or a small component of it will keep a socket open (while rest of csipsimple is shut off for power purposes) through which it will receive a notification. This notification will then start csipsimple to take an incoming call for example. Advantage of having a 3rd party app is that it can support push notifications for other purposes also. However then again we are relying on some other 3rd party push service provider. Instead if it is done with the same SIP provider (achieved by using Freeswitch hopefully it supports this as a module soon), then its even better. I take it that this push service is then applicable only for this and keeping a socket open just for this is not as optimal.
I didn't understand "solve the root cause on the app". I am not sure if you are referring to "There is indeed known problems to keep the connection alive on some devices with CSipSimple." when you are talking about root cause. But let's say csipsimple works fine when it is running. Then I guess there is no "root cause" then?
My main and only concern is saving power and battery and not having to run csipsimple app running all the time just to receive incoming calls. So in this scenario (and no connection alive problems with csipsimple), there is no "root cause" and the solution is just to use push service. Is that correct ?
Alternative is that csipsimple has components or plugins and while all of it shuts off, one small component keeps running with a socket open I guess to get simplied notification (rather than complex sip messages) JUST to tell incoming call, whereafter the main csipsimple starts. The Freeswitch server then waits for csipsimple to start and send the invite (I am not sure how it will know that csipsimple woke up, but I guess the job of the plugin is that. Perhaps it sens a push notification and then few invites until it gets a response).
Please clarify above. Would be great if you can provide a solution together with freeswitch !
I think this is the future and as one of the developers indicated in that jira bug, there are many companies now doing this (like acrobits).
On 7/28/12, Régis Montoya <r3gis.3r@gmail.com> wrote:
Hi Prasd,
As I said many times to you about C2DM for invites... I still think that's a bad idea.
There is indeed known problems to keep the connection alive on some devices with CSipSimple. But solving the issue by delegating to another solution hosted by google (or to any proprietary network) is not a good solution. If you want to develop something you should rather try to help on CSipSimple/pjsip for android to find out a reliable way for your devices.
Several reason for that : * You become dependant of a push service provider... in this case google. Somebody using android should not be forced to use google. -and it also doesn't apply to private/enterprise networks-. * The C2DM doesn't ensure for reliability. Read the google docs, they tell that they don't assure that it will be delivered in time and for sure. It's the same for Apple push notification. * AFAIK, what is done in C2DM is not magic. It should not be impossible to reach same thing on a third party app. * Your sip provider becomes dependant of the push notification service provider : there is a mechanism to ensure your server is correctly allowed to publish on the push service provider (both for C2DM and Apple notifications). * Your application (in this case the CSipSimple plugin for your C2DM deployment), is also linked to the same mechanism and will be linked to certificates of the server (so also one app per service...)
The only pro argument would be to have only one socket open, but in my opinion it's not a big deal. The other not receivable argument is laziness... (even if deployment of push notification can lead to headaches).
If you really want to go this way feel free. The api provided by CSipSimple to other applications on android should allow you to do what you plan a clean and separated way. (I mean by a plugin).
And I think that approach on FS is the same than mine : if you want such a thing, it should be addressed by a plugin. But my opinion remains the same, it's not a real solution to the problem. And I encourage any developer / sip provider facing this problem to help to focus their efforts to solve the root cause on the app ;).
Best regards, Régis
-- Thanks, Prasd
-- Thanks, Prasd
participants (1)
-
Prasd D