Skip to content
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

XEP-0198: Stream Management #281

Closed
ObjColumnist opened this issue Dec 10, 2013 · 18 comments
Closed

XEP-0198: Stream Management #281

ObjColumnist opened this issue Dec 10, 2013 · 18 comments

Comments

@ObjColumnist
Copy link
Collaborator

No description provided.

@ghost ghost assigned ObjColumnist Dec 10, 2013
@haithngnbak
Copy link

I was finish this feature, could I share my codes ? ObjColumnist

@ObjColumnist
Copy link
Collaborator Author

Ive started to work on this, but your welcome to send me what you have done.

@haithngnbak
Copy link

Hi ObjColumnist,
Here is my code https://www.dropbox.com/s/ordvupngu9xmdne/XMPP-0198.zip
I'm working on ccPing project at http://ccping.com, we have implemented this XEP.
I really like this framework, I hope you release this extension soon
Thanks,

@ObjColumnist
Copy link
Collaborator Author

Thanks I will take a look :)

@kpinkerman
Copy link

I have a rather immediate need to implement XEP-0198 into my current project. Is there a way to be included in the development/implementation of this protocol into this framework? I would be very interested in contributing. Thanks!

@kpinkerman
Copy link

To be specific, I've dropped in nguyenthanhhai's code for XEP-0198 into my project, but the latest revision is missing a required XMPPMessageAdditions.h and supporting code. At the very least, is it possible to receive a copy of these required files? Thanks again.

@kpinkerman
Copy link

Thank you very much!

-=Kevin

On Fri, Mar 7, 2014 at 11:00 AM, NeXT Steve notifications@github.comwrote:

@kpinkerman https://github.com/kpinkerman ,
Let's use this code
https://www.dropbox.com/s/kkz63co8zu75581/XMPP-0198.zip
It's does not require XMPPMessageAddition.
Regards,

Reply to this email directly or view it on GitHubhttps://github.com//issues/281#issuecomment-37037421
.

@kpinkerman
Copy link

I've implemented the code, which compiles properly and my original code
works fine. To confirm usage of this protocol, do I simply need to
instantiate the XMPPStreanManagement object and enable:enumACKMode_both
after a successful XMPPStream connectWithTimeout? Does it manage the
messages in the stream or do I need to create handlers for miscommunication
states?

Thanks again for making this available to me.

-=Kevin

On Fri, Mar 7, 2014 at 11:01 AM, Kevin Pinkerman kpinkerman@gmail.comwrote:

Thank you very much!

-=Kevin

On Fri, Mar 7, 2014 at 11:00 AM, NeXT Steve notifications@github.comwrote:

@kpinkerman https://github.com/kpinkerman ,
Let's use this code
https://www.dropbox.com/s/kkz63co8zu75581/XMPP-0198.zip
It's does not require XMPPMessageAddition.
Regards,

Reply to this email directly or view it on GitHubhttps://github.com//issues/281#issuecomment-37037421
.

@haithngnbak
Copy link

Let's implement two methods:

  • (void)streamManagementEnableFailed:(XMPPStreanManagement*)sender;
  • (void)streamManagement:(XMPPStreanManagement_)sender didRecivedACKForMessage:(XMPPMessage_)message;

XMPPStreanManagement does not manage the message in the stream but you can track the message sending/receiving statge to resend failed message or devivered messages.

@kpinkerman
Copy link

After working with this a bit more, I've noticed that my Tigase server is now successfully showing data packets. I am noticing, though, that it is using namespace "urn:ccping:sm" when I activate stream management instead of the expected namespace "urn:xmpp:sm:3". Am I getting the setup wrong on this?

@kpinkerman
Copy link

I think I've found the issue. It looks like the stream management protocol listed here is for a custom implementation of stream management. I'm going to change the urn to the standard protocol naming convention and reattempt.

@kpinkerman
Copy link

OK. I have been able to get the server to enable stream management, but r & a elements are not being sent/received by this library. I am currently using sendElement: from the XMPPStream object. Is there a different function to enable the req/ack process? In case I have set up streamMangagement wrong, I have included my current setup:

    self.xmppStream = [[XMPPStream alloc] init];
    self.xmppSM = [[XMPPStreanManagement alloc] init];
    [self.xmppStream registerModule:self.xmppSM];
    [self.xmppSM activate:self.xmppStream];

Whatever help you can provide would be greatly appreciated.

@kpinkerman
Copy link

Any idea why the req/ack process is not working in this implementation? Thank you.

@vitalyster
Copy link
Contributor

#342 check my implementation and give some code review

@robbiehanson
Copy link
Owner

I just pushed commit 29dc0ff "Initial support for XEP-0198 (stream management)"

I can't find the way to alternate "bind" to "session resume"

I added XMPPCustomBinding protocol, which now allows for this outside of XMPPStream.
Take a look at XMPPStreamManagement.h:
https://github.com/robbiehanson/XMPPFramework/blob/master/Extensions/XEP-0198/XMPPStreamManagement.h

I hope you'll be pleasantly surprised with the API.

@max-potapov
Copy link
Contributor

Great! Thank you so much!

@kartikthapar
Copy link

Are there any milestones for this? XEP-0198 is currently not supported as evident from the supported extensions page. Any realistic date for when this will be supported? Thanks!

@nectarbits
Copy link

Hi , is there any way to enable XEP-0198 in ejabberd version 2.1.10?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants