[Freeswitch-dev] [Freeswitch-users] Push server and push capability
prasd.d.b at gmail.com
Mon Jul 30 02:25:39 MSD 2012
On 7/29/12, Prasd D <prasd.d.b at gmail.com> wrote:
> Hi Regis,
> Thanks for throwing light on this.
> I fully agree with you on your first reason, and the initial general
>> 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
> 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
> 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
> On 7/28/12, Régis Montoya <r3gis.3r at 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
>> * 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,
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev