Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

BlackBerry Push Development

Reply
Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Confused about BES PUsh and BB10

Attempting to answer my own question...

We've been trying to push to the MDS (via http and the correct port for that) and using /pap as the path.

I get the impression this is what some have referred to as PAP push, and we're using a multi-part message with a <pap> element in it so that makes sense.

There's also a /push path that can be used, and I get the impression that's what some refer to as "RIM push". If I've understood, this doesn't use a multipart message but rather extra arguments specified in the query string, along with some extra headers, and then the raw payload.

I've also seen in the logs a /push2 being done by something in the system every minute, but have no idea what that might be.

I still don't know what "MDS push" versus "BES push" might mean though, since BES is the whole system (?) and MDS is as far as I can see the thing through which both the /pap and /push types of push are sent.

(We're currently stuck with 2002 (bad address value) errors and no idea why but that's an issue for another thread.)

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Developer
Posts: 19,636
Registered: ‎07-14-2008
My Device: Not Specified

Re: Confused about BES PUsh and BB10

I am a BIS push 'virgin', I have only ever done BES push and then only from the BB end.  But I will try to describe what I know.  Our BES end developer is on holiday atm, so I can't get clarification.  So forgive me if some of the following is not clear and/or 100% accurate. 

 

When we do BES push, we actually just do a POST to the BES MDS Server.  Our code runs in the corporate network, and we push to a specific PORT on the BES Server.  I believe this PORT is actually managed by MDS, so if we stopped MDS, this service will disappear.  So perhaps it should be called BES MDS push  But I have always called it BES push, to distinguish from BIS Push. 

 

This is different to BIS push, where you push to a Server managed by BBRY. I presume using BIS Push, the POST is directed to an MDS like Service that is running on the BBRY supplied Server. 

 

Now when you push, as I understand it, for both BIS and BES Push, you have two types of push that you can do:

1) PAP push, which is the standard, and

2) RIM push, which is specific to RIM.

These two have a different format payload as I understand it.  Also PAP has some extra bells and whistles, for example, delivery confirmation.  However for our specific application, we use RIM Push.  We fire and forget. 

 

I hope this is helpful.

 

You say you are getting 2002 - bad address. 

 

According to this:

http://docs.blackberry.com/tr-tr/developers/deliverables/25167/PAP_response_status_codes_607260_11.j...

2002 indicates a PIN error with a PAP push.  Now as noted, I am a BIS Push virgin.  Do BBs have to subscribe to your push service before you can push to them?  This would seem reasonable to stop people just willy-nuilly pushing to any BB PIN they find  I don't have this problem with BES push - the PINs are known to BES. 

Highlighted
Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Confused about BES PUsh and BB10

Thanks for the response peter_strange!

I think with BIS push, actually, there's only the PAP approach. I've seen nothing elsewhere suggesting it can be done with the RIM push approach, at least for BB10. Maybe it can and they're simply deprecating that and removed all mention of it.

Knowing more today than I did when I wrote that, and with your response, I'd say "MDS push" is definitely unclear, because in the BES environment both forms of push go through MDS, while in the BIS environment I don't think there's any publicly visible signs that an MDS is involved.

In my push initiator, I now support three modes, with names "bis-pap", "bes-pap", and "bes-push". The latter is because it uses the /push URL path though I realize now that's an ambiguous name for it outside the context of my own code.... Maybe I'll rename that one "rim-push" for greater clarity.

We resolved our 2002 enough to make stuff work. One issue was with the provider application id, where I still had a leftover custom value instead of "", not realizing that although the system supplies one for you it's only by default and not forced on you. The other issue was that BES PAP push doesn't fully work on BES10, so once I switched to RIM push with the right id, everything worked fine. My thread on the BES PAP push issue is here: http://supportforums.blackberry.com/t5/BlackBerry-Push-Development/Does-PAP-push-on-BES10-1-work-at-...

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!