Example #1
0
    def __init__(self, session_manager, peer, euf_guid="", application_id=0):
        gobject.GObject.__init__(self)
        self._session_manager = session_manager
        self._peer = peer

        self._id =  _generate_id()
        self._call_id = "{%s}" % guid.generate_guid()

        self._euf_guid = euf_guid
        self._application_id = application_id

        self._cseq = 0
        self._branch = "{%s}" % guid.generate_guid()
        self._session_manager._register_session(self)
Example #2
0
    def _close(self):
        body = SLPSessionCloseBody()

        self._cseq = 0
        self._branch = "{%s}" % guid.generate_guid()
        message = SLPRequestMessage(SLPRequestMethod.BYE,
                "MSNMSGR:" + self._peer.account,
                to=self._peer.account,
                frm=self._session_manager._client.profile.account,
                branch=self._branch,
                cseq=self._cseq,
                call_id=self._call_id)
        message.body = body
        self._send_p2p_data(message)
        self._session_manager._unregister_session(self)
Example #3
0
    def send_message(self, recipient, message):
        if recipient.network_id == NetworkID.EXTERNAL:
            return

        convo = self.__conversations.get(recipient, None)
        if convo is None:
            run_id = guid.generate_guid()
            sequence_num = 1
            self.__conversations[recipient] = [run_id, sequence_num]
        else:
            (run_id, sequence_num) = convo
            convo[1] = convo[1] + 1

        sm = scenario.SendMessageScenario(self._oim,
                 self._client, recipient, message,
                 (self.__send_message_cb, recipient, message),
                 (self.__common_errback,))

        sm.run_id = run_id
        sm.sequence_num = sequence_num
        sm()