class SdpSession

Implement Session Description Protocol (RFC 2327)

Public Fields

SdpAttributes* attribute
Session level attribute("a=") lines - optional
SdpBandwidth* bandwidth
Session level bandwidth information("b=") - optional
SdpConnection* connection
Session level connection information("c=") - not required if include in all media
SdpEncryptkey* encryptkey
Session level encryption ket("k=") lines - optional
vector < SdpMedia* > mediaList
List of Media descriptions
int protocolVersion
Protocol Version in "v=" line. Default is 0
string sessionName
in "s=" line. Default is "-"
string username
in "o=" line. Default is "-"
vector < SdpZoneAdjustment > zoneAdjustmentList
"z=*" - optional

Public Methods

void addMedia(SdpMedia* media)
void addTime(SdpTime& time)
void addZoneAdjustment(SdpZoneAdjustment& adjustment)
bool decode(const string& buffer)
Decode text string into object
bool decode(split_t& parms)
string encode()
Encode object into text string
void flushMediaList()
Clear all data in media list
string getAddress()
AddressType getAddressType()
SdpAttributes* getAttribute()
SdpBandwidth* getBandwidth()
SdpConnection* getConnection()
vector < string > getEmailList()
SdpEncryptkey* getEncryptkey()
vector < SdpMedia* > getMediaList()
NetworkType getNetworkType()
vector < string > getPhoneList()
SdpProtocolType getProtocolType()
int getProtocolVersion()
vector < SdpTime > getSdpTimeList()
unsigned int getSessionId()
string getSessionInfo()
string getSessionName()
string getURIInfo()
string getUserName()
unsigned int getVersion()
bool isValidDescriptor()
SdpSession& operator= (const SdpSession& x)
void reset()
Reset all member variables so the object can be re-used
SdpProtocolTypeNCS SdpSession()
SdpSession(const SdpSession& x)
void setAddress(char* addr)
void setAddress(const string& addr)
void setBandwidth(SdpBandwidth& bw)
void setConnection(const SdpConnection& conn)
void setEmailAddr(const string& emailAddr)
void setEmailAddr(const char* emailAddr)
void setEncryptkey(const SdpEncryptkey& conn)
void setHold()
Implement INVITE(HOLD)
void setPhoneNum(const string& phoneNum)
void setPhoneNum(const char* phoneNum)
void setProtocolType(SdpProtocolType protocol)
void setSessionId(unsigned int session)
void setSessionInfo(const string& info)
void setSessionInfo(char* info)
void setSessionName(char* name)
void setSessionName(const string& name)
void setURIInfo(char* uri)
void setURIInfo(const string& uri)
void setUserName(char* name)
void setUserName(const string& name)
void setVersion(unsigned int vers)
bool verify(SdpProtocolType protocol = SdpProtocolTypeSDP)
Verify if this a well formed SDP according to protocol type
~SdpSession()

Private Fields

string address
in "o=" line
AddressType addressType
in "o=" line. Default is IP4
char buf[4096]
ostrstream buffer during encoding
bool isValid
set to true if this session descriptor is meant to be valid
NetworkType networkType
in "o=" line. Default is IN
SdpProtocolType protocolType
SDP Protocol Type indicates this SDP descriptor must conform to a specific protocol
vector < SdpTime > sdpTimeList
Times, Repeat Times and Time Zones
unsigned int sessionId
in "o=" line. TODO: Use NTP time
string sessionInfo
Session and Media Information - optional
unsigned int version
in "o=" line. TODO: Use NTP time

Private Methods

string addressTypeString()
bool conformToNcs()
Check if this SDP conforms to the PacketCable NCS spec
bool conformToSdp()
Check if this SDP has all the mandatory fields
void encodeEmailAddress(ostrstream& s)
void encodeMedia(ostrstream& s)
void encodeOrigin(ostrstream& s)
void encodePhoneNumber(ostrstream& s)
void encodeSessionInformation(ostrstream& s)
void encodeSessionName(ostrstream& s)
void encodeTime(ostrstream& s)
void encodeTimeZoneAdjustment(ostrstream& s)
void encodeURI(ostrstream& s)
void encodeVersion(ostrstream& s)
string networkTypeString()
void setNcs()
Set this SDP according to the PacketCable NCS requirements

Private

Bandwidth
Media Announcements
Origin o=
Session Name
Connection Data
Session Description data
Repeat times("r=") - optional, done in SdpTime
Encryption Key
Attributes

Documentation

Implement Session Description Protocol (RFC 2327)
SdpProtocolTypeNCS SdpSession()

SdpSession(const SdpSession& x)

~SdpSession()

bool isValidDescriptor()

void setProtocolType(SdpProtocolType protocol)

SdpProtocolType getProtocolType()

bool verify(SdpProtocolType protocol = SdpProtocolTypeSDP)
Verify if this a well formed SDP according to protocol type

int getProtocolVersion()

void setUserName(char* name)

void setUserName(const string& name)

string getUserName()

void setSessionId(unsigned int session)

unsigned int getSessionId()

void setVersion(unsigned int vers)

unsigned int getVersion()

NetworkType getNetworkType()

AddressType getAddressType()

void setSessionName(char* name)

void setSessionName(const string& name)

string getSessionName()

void setAddress(char* addr)

void setAddress(const string& addr)

string getAddress()

void setSessionInfo(char* info)

void setSessionInfo(const string& info)

string getSessionInfo()

void setURIInfo(char* uri)

void setURIInfo(const string& uri)

string getURIInfo()

void setEmailAddr(const char* emailAddr)

void setEmailAddr(const string& emailAddr)

vector < string > getEmailList()

void setPhoneNum(const char* phoneNum)

void setPhoneNum(const string& phoneNum)

vector < string > getPhoneList()

void setConnection(const SdpConnection& conn)

SdpConnection* getConnection()

void setBandwidth(SdpBandwidth& bw)

SdpBandwidth* getBandwidth()

vector < SdpTime > getSdpTimeList()

void addTime(SdpTime& time)

void addZoneAdjustment(SdpZoneAdjustment& adjustment)

void setEncryptkey(const SdpEncryptkey& conn)

SdpEncryptkey* getEncryptkey()

SdpAttributes* getAttribute()

void addMedia(SdpMedia* media)

vector < SdpMedia* > getMediaList()

string encode()
Encode object into text string

void reset()
Reset all member variables so the object can be re-used

bool decode(const string& buffer)
Decode text string into object

bool decode(split_t& parms)

SdpSession& operator= (const SdpSession& x)

void flushMediaList()
Clear all data in media list

void setHold()
Implement INVITE(HOLD)

void encodeVersion(ostrstream& s)

string networkTypeString()

string addressTypeString()

void encodeOrigin(ostrstream& s)

void encodeSessionName(ostrstream& s)

void encodeSessionInformation(ostrstream& s)

void encodeURI(ostrstream& s)

void encodeEmailAddress(ostrstream& s)

void encodePhoneNumber(ostrstream& s)

void encodeTime(ostrstream& s)

void encodeTimeZoneAdjustment(ostrstream& s)

void encodeMedia(ostrstream& s)

void setNcs()
Set this SDP according to the PacketCable NCS requirements

bool conformToSdp()
Check if this SDP has all the mandatory fields

bool conformToNcs()
Check if this SDP conforms to the PacketCable NCS spec

char buf[4096]
ostrstream buffer during encoding

bool isValid
set to true if this session descriptor is meant to be valid

SdpProtocolType protocolType
SDP Protocol Type indicates this SDP descriptor must conform to a specific protocol. Default is SDP which means no additional requirements. For example, NCS means this SDP conforms to Packet Cable NCS protocol

Session Description data

int protocolVersion
Protocol Version in "v=" line. Default is 0

Origin o=

string username
in "o=" line. Default is "-"

unsigned int sessionId
in "o=" line. TODO: Use NTP time

unsigned int version
in "o=" line. TODO: Use NTP time

NetworkType networkType
in "o=" line. Default is IN

AddressType addressType
in "o=" line. Default is IP4

string address
in "o=" line

Session Name

string sessionName
in "s=" line. Default is "-"

string sessionInfo
Session and Media Information - optional

Connection Data

SdpConnection* connection
Session level connection information("c=") - not required if include in all media

Bandwidth

SdpBandwidth* bandwidth
Session level bandwidth information("b=") - optional

vector < SdpTime > sdpTimeList
Times, Repeat Times and Time Zones

Repeat times("r=") - optional, done in SdpTime

vector < SdpZoneAdjustment > zoneAdjustmentList
"z=*" - optional

Encryption Key

SdpEncryptkey* encryptkey
Session level encryption ket("k=") lines - optional

Attributes

SdpAttributes* attribute
Session level attribute("a=") lines - optional

Media Announcements

vector < SdpMedia* > mediaList
List of Media descriptions


This class has no child classes.

alphabetic index hierarchy of classes


generated by doc++