# class JGSession1 | The version 1 of a jingle session. More...
Full name | `TelEngine::JGSession1`
Definition | `#include <libs/yjabber/yatejingle.h>`
Inherits | TelEngine::JGSession [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- virtual ~JGSession1 ()
- virtual bool accept (const ObjList& contents, String* stanzaId = 0)
- virtual XmlElement* createRtpInfoXml (RtpInfo info)
- virtual XmlElement* createReason (int reason, const char* text = 0, XmlElement* child = 0)
- virtual XmlElement* createTransferReason (int reason)
- virtual XmlElement* createRtpSessionReason (int reason)
- virtual bool sendContent (Action action, const ObjList& contents, String* stanzaId = 0)
- virtual bool sendStreamHosts (const ObjList& hosts, String* stanzaId = 0)
- virtual bool sendStreamHostUsed (const char* jid, const char* stanzaId)

#### Protected Methods

- JGSession1 (JGEngine* engine, const JabberID& caller, const JabberID& called)
- JGSession1 (JGEngine* engine, const JabberID& caller, const JabberID& called, XmlElement* xml, const String& id)
- virtual bool initiate (const ObjList& contents, XmlElement* extra, const char* subject = 0)
- virtual JGEvent* decodeJingle (XmlElement*& xml, XmlElement* child)
- virtual XmlElement* createJingle (Action action, XmlElement* element1 = 0, XmlElement* element2 = 0, XmlElement* element3 = 0)
- virtual XmlElement* createDtmf (const char* dtmf, unsigned int msDuration = 0)
- virtual JGEvent* processFileTransfer (bool set, XmlElement*& xml, XmlElement* child)

## Detailed Description

A session implementing the Jingle protocol including session transfer and file transfer

~JGSession1 () | ### ~JGSession1

[virtual]

Destructor

bool accept (const ObjList& contents, String* stanzaId = 0) | ### accept

[virtual]

Accept a Pending incoming session. This method is thread safe

Parameters:

contents | The list of accepted contents
stanzaId | Optional string to be filled with sent stanza id (used to track the response)

Returns: False if send failed

Reimplemented from JGSession.

XmlElement* createRtpInfoXml (RtpInfo info) | ### createRtpInfoXml

[virtual]

Create a RTP info child to be added to a session-info element

Parameters:

info | The informational tag as enumeration

Returns: Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

XmlElement* createReason (int reason, const char* text = 0, XmlElement* child = 0) | ### createReason

[virtual]

Create a termination reason element

Parameters:

reason | The reason code
text | Optional reason text child
child | Optional additional reason child

Returns: Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

XmlElement* createTransferReason (int reason) | ### createTransferReason

[virtual]

Create a transfer reason element

Parameters:

reason | The reason code

Returns: Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

XmlElement* createRtpSessionReason (int reason) | ### createRtpSessionReason

[virtual]

Create a RTP session reason element

Parameters:

reason | The reason code

Returns: Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

bool sendContent (Action action, const ObjList& contents, String* stanzaId = 0) | ### sendContent

[virtual]

Send a stanza with session content(s) This method is thread safe

Parameters:

action | Must be a transport- or content- action
contents | Non empty list with content(s) to send
stanzaId | Optional string to be filled with sent stanza id (used to track the response)

Returns: False if send failed

Reimplemented from JGSession.

bool sendStreamHosts (const ObjList& hosts, String* stanzaId = 0) | ### sendStreamHosts

[virtual]

Send a stanza with stream hosts This method is thread safe

Parameters:

hosts | The list of hosts to send
stanzaId | Optional string to be filled with sent stanza id (used to track the response)

Returns: False if send failed

Reimplemented from JGSession.

bool sendStreamHostUsed (const char* jid, const char* stanzaId) | ### sendStreamHostUsed

[virtual]

Send a stanza with a stream host used. If the jid is empty, send an item-not-found error response This method is thread safe

Parameters:

jid | The stream host to send
stanzaId | The id of the stanza to confirm

Returns: False if send failed

Reimplemented from JGSession.

JGSession1 (JGEngine* engine, const JabberID& caller, const JabberID& called) | ### JGSession1

[protected]

Constructor. Create an outgoing session

Parameters:

engine | The engine owning this session
caller | The caller's full JID
called | The called party's full JID

JGSession1 (JGEngine* engine, const JabberID& caller, const JabberID& called, XmlElement* xml, const String& id) | ### JGSession1

[protected]

Constructor. Create an incoming session.

Parameters:

engine | The engine owning this session
caller | The caller's full JID
called | The called party's full JID
xml | A valid Jabber Jingle xml with action session initiate
id | Session id

bool initiate (const ObjList& contents, XmlElement* extra, const char* subject = 0) | ### initiate

[protected virtual]

Build and send the initial message on an outgoing session

Parameters:

contents | The session contents to be sent with session initiate element
extra | Optional extra child to be added to the session initiate element
subject | Optional session subject

Returns: True on success

Reimplemented from JGSession.

JGEvent* decodeJingle (XmlElement*& xml, XmlElement* child) | ### decodeJingle

[protected virtual]

Decode a jingle element

Parameters:

xml | The element to decode
child | The element's first child

Returns: JGEvent pointer or 0

Reimplemented from JGSession.

XmlElement* createJingle (Action action, XmlElement* element1 = 0, XmlElement* element2 = 0, XmlElement* element3 = 0) | ### createJingle

[protected virtual]

Create an 'iq' of type 'set' with a 'jingle' child

Parameters:

action | The action of the Jingle stanza
element1 | Optional child element
element2 | Optional child element
element3 | Optional child element

Returns: Valid XmlElement pointer

Reimplemented from JGSession.

XmlElement* createDtmf (const char* dtmf, unsigned int msDuration = 0) | ### createDtmf

[protected virtual]

Create a dtmf XML element

Parameters:

dtmf | The dtmf string
msDuration | The tone duration in miliseconds. Ignored if 0

Returns: Valid XmlElement pointer or 0

Reimplemented from JGSession.

JGEvent* processFileTransfer (bool set, XmlElement*& xml, XmlElement* child) | ### processFileTransfer

[protected virtual]

Decode a file transfer element

Parameters:

set | True if the xml is an iq 'set', false if type is 'get'
xml | The element to decode
child | The element's first child

Returns: JGEvent pointer or 0

Reimplemented from JGSession.

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.