summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--slixmpp/features/feature_session/session.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/slixmpp/features/feature_session/session.py b/slixmpp/features/feature_session/session.py
index b525d50c..e0e69e87 100644
--- a/slixmpp/features/feature_session/session.py
+++ b/slixmpp/features/feature_session/session.py
@@ -43,11 +43,15 @@ class FeatureSession(BasePlugin):
Arguments:
feature -- The stream features element.
"""
- if not features['session']['optional']:
- iq = self.xmpp.Iq()
- iq['type'] = 'set'
- iq.enable('session')
- yield from iq.send(callback=self._on_start_session_response)
+ if features['session']['optional']:
+ self.xmpp.sessionstarted = True
+ self.xmpp.event('session_start')
+ return
+
+ iq = self.xmpp.Iq()
+ iq['type'] = 'set'
+ iq.enable('session')
+ yield from iq.send(callback=self._on_start_session_response)
def _on_start_session_response(self, response):
self.xmpp.features.add('session')