reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
SdpHelper.hxx
Go to the documentation of this file.
1
#if !defined(SdpHelper_hxx)
2
#define SdpHelper_hxx
3
4
#include "
Sdp.hxx
"
5
#include "
SdpMediaLine.hxx
"
6
#include <
resip/stack/SdpContents.hxx
>
7
8
using namespace
sdpcontainer
;
9
10
namespace
resip
11
{
12
class
ParseBuffer;
13
class
Data;
14
}
15
23
class
SdpHelper
24
{
25
public
:
26
// The main method use to create a higher level Sdp object from a SdpContents object
27
static
sdpcontainer::Sdp
*
createSdpFromResipSdp
(
const
resip::SdpContents
&
resipSdp
);
28
29
// Helper methods to convert from SdpContents address type to sdpcontainer address type
30
static
sdpcontainer::Sdp::SdpAddressType
convertResipAddressType
(
resip::SdpContents::AddrType
resipAddrType
);
31
// Helper method to convert from SdpContents encryption key type to sdpcontainer encryption method
32
static
sdpcontainer::SdpMediaLine::SdpEncryptionMethod
convertResipEncryptionMethod
(
resip::SdpContents::Session::Encryption::KeyType
resipMethod
);
33
34
// Helper methods to parse specific SDP attribute lines that SdpContents class doesn't provide parsing for
35
static
sdpcontainer::SdpMediaLine::SdpCrypto
*
parseCryptoLine
(
const
resip::Data
&
cryptoLine
);
36
static
bool
parseFingerPrintLine
(
const
resip::Data
&
fingerprintLine
,
sdpcontainer::SdpMediaLine::SdpFingerPrintHashFuncType
&
hashType
,
resip::Data
&
fingerPrint
);
37
static
bool
parseTransportCapabilitiesLine
(
const
resip::Data
&
tcapLine
, std::list<sdpcontainer::SdpMediaLine::SdpTransportProtocolCapabilities>&
tcapList
);
38
static
bool
parsePotentialConfigurationLine
(
const
resip::Data
&
pcfgLine
, std::list<sdpcontainer::SdpMediaLine::SdpPotentialConfiguration>&
pcfgList
);
39
40
private
:
41
static
sdpcontainer::SdpMediaLine
* parseMediaLine(
const
resip::SdpContents::Session::Medium
&
resipMedia
,
const
resip::SdpContents::Session
&
resipSession
,
bool
sessionRtcpEnabled
);
42
static
void
parseCryptoParams(
resip::ParseBuffer
&
pb
,
43
sdpcontainer::SdpMediaLine::SdpCryptoKeyMethod
&
keyMethod
,
44
resip::Data
&
keyValue
,
45
unsigned
int
&
srtpLifetime
,
46
unsigned
int
&
srtpMkiValue
,
47
unsigned
int
&
srtpMkiLength
);
48
49
};
50
51
#endif
// _SdpHelper_hxx_
52
53
54
/* ====================================================================
55
56
Copyright (c) 2026, SIP Spectrum, Inc. https://www.sipspectrum.com
57
Copyright (c) 2007-2008, Plantronics, Inc.
58
All rights reserved.
59
60
Redistribution and use in source and binary forms, with or without
61
modification, are permitted provided that the following conditions are
62
met:
63
64
1. Redistributions of source code must retain the above copyright
65
notice, this list of conditions and the following disclaimer.
66
67
2. Redistributions in binary form must reproduce the above copyright
68
notice, this list of conditions and the following disclaimer in the
69
documentation and/or other materials provided with the distribution.
70
71
3. Neither the name of Plantronics nor the names of its contributors
72
may be used to endorse or promote products derived from this
73
software without specific prior written permission.
74
75
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
76
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
77
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
78
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
79
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
80
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
81
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
82
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
83
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
84
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
85
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
86
87
==================================================================== */
SdpContents.hxx
SdpMediaLine.hxx
Sdp.hxx
SdpHelper
This class is used to form a higher level representation of SDP from a resiprocate representation.
Definition
SdpHelper.hxx:24
SdpHelper::convertResipEncryptionMethod
static sdpcontainer::SdpMediaLine::SdpEncryptionMethod convertResipEncryptionMethod(resip::SdpContents::Session::Encryption::KeyType resipMethod)
Definition
SdpHelper.cxx:20
SdpHelper::parsePotentialConfigurationLine
static bool parsePotentialConfigurationLine(const resip::Data &pcfgLine, std::list< sdpcontainer::SdpMediaLine::SdpPotentialConfiguration > &pcfgList)
Definition
SdpHelper.cxx:1214
SdpHelper::convertResipAddressType
static sdpcontainer::Sdp::SdpAddressType convertResipAddressType(resip::SdpContents::AddrType resipAddrType)
Definition
SdpHelper.cxx:15
SdpHelper::parseTransportCapabilitiesLine
static bool parseTransportCapabilitiesLine(const resip::Data &tcapLine, std::list< sdpcontainer::SdpMediaLine::SdpTransportProtocolCapabilities > &tcapList)
Definition
SdpHelper.cxx:1194
SdpHelper::parseFingerPrintLine
static bool parseFingerPrintLine(const resip::Data &fingerprintLine, sdpcontainer::SdpMediaLine::SdpFingerPrintHashFuncType &hashType, resip::Data &fingerPrint)
Definition
SdpHelper.cxx:1176
SdpHelper::createSdpFromResipSdp
static sdpcontainer::Sdp * createSdpFromResipSdp(const resip::SdpContents &resipSdp)
Definition
SdpHelper.cxx:37
SdpHelper::parseCryptoLine
static sdpcontainer::SdpMediaLine::SdpCrypto * parseCryptoLine(const resip::Data &cryptoLine)
Definition
SdpHelper.cxx:1080
resip::Data
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition
Data.hxx:90
resip::ParseBuffer
Provides string-parsing functionality with protection from buffer overflow.
Definition
ParseBuffer.hxx:18
resip::SdpContents::Session::Encryption::KeyType
KeyType
Definition
SdpContents.hxx:563
resip::SdpContents::Session::Medium
process m= (media announcement) blocks
Definition
SdpContents.hxx:636
resip::SdpContents::Session
Provides an interface to read and modify SDP bodies.
Definition
SdpContents.hxx:72
resip::SdpContents
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
Definition
SdpContents.hxx:59
resip::SdpContents::AddrType
AddrType
Definition
SdpContents.hxx:62
sdpcontainer::SdpMediaLine::SdpCrypto
Definition
SdpMediaLine.hxx:192
sdpcontainer::SdpMediaLine
Definition
SdpMediaLine.hxx:14
sdpcontainer::SdpMediaLine::SdpFingerPrintHashFuncType
SdpFingerPrintHashFuncType
Definition
SdpMediaLine.hxx:290
sdpcontainer::SdpMediaLine::SdpEncryptionMethod
SdpEncryptionMethod
Definition
SdpMediaLine.hxx:115
sdpcontainer::SdpMediaLine::SdpCryptoKeyMethod
SdpCryptoKeyMethod
Definition
SdpMediaLine.hxx:177
sdpcontainer::Sdp
Definition
Sdp.hxx:22
sdpcontainer::Sdp::SdpAddressType
SdpAddressType
Definition
Sdp.hxx:33
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
sdpcontainer
Definition
SipXRemoteParticipant.hxx:28
list
void list()
Definition
userAdmin.cxx:66
media
sdpcontainer
SdpHelper.hxx
Generated by
1.9.8