ZDK
Public Member Functions | List of all members
ZDK::IContextConfiguration Class Referenceabstract

General ZDK/Context configuration. More...

#include <IContextConfiguration.h>

Inheritance diagram for ZDK::IContextConfiguration:
ZDK::IZHandle

Public Member Functions

virtual int SIPPort () const =0
 Gets the requested SIP port to be used. More...
 
virtual void SIPPort (int value)=0
 Sets the requested SIP port to be used. More...
 
virtual int RTPPort () const =0
 Gets the base port to be used for RTP streams. More...
 
virtual void RTPPort (int value)=0
 Sets the base port to be used for RTP streams. More...
 
virtual bool EnableIPv6 () const =0
 Gets the global use of IPv6 support. More...
 
virtual void EnableIPv6 (bool value)=0
 Sets the global use of IPv6 support. More...
 
virtual ZDK::Shared::String UserSipInstance () const =0
 Generate a random UUID to be used for SIP user instance. More...
 
virtual bool EnableSIPReliableProvisioning () const =0
 Gets the global usage of reliable provisional as described in RFC 3262. More...
 
virtual void EnableSIPReliableProvisioning (bool value)=0
 Sets the global usage of reliable provisional as described in RFC 3262. More...
 
virtual ZDK::Shared::String UserAgent () const =0
 Gets the ZDK's user agent. More...
 
virtual void UserAgent (ZDK::Shared::String value)=0
 Sets the ZDK's user agent. More...
 
virtual int MediaDSCP () const =0
 Gets the configured DSCP for the media streams. More...
 
virtual void MediaDSCP (int value)=0
 Configures the DSCP for the media streams. More...
 
virtual int SignalDSCP () const =0
 Gets the configured DSCP for the signaling streams. More...
 
virtual void SignalDSCP (int value)=0
 Configures the DSCP for the signaling streams. More...
 
virtual ZDK::Shared::String RTPSessionName () const =0
 Gets the configured RTP session name for the SDP. More...
 
virtual void RTPSessionName (ZDK::Shared::String value)=0
 Configures the RTP session name for the SDP. More...
 
virtual ZDK::Shared::String RTPUsername () const =0
 Gets the configured RTP user name for the SDP. More...
 
virtual void RTPUsername (ZDK::Shared::String value)=0
 Configures the RTP user name for the SDP. More...
 
virtual ZDK::Shared::String RTPUrl () const =0
 Gets the configured URL for SDP. More...
 
virtual void RTPUrl (ZDK::Shared::String value)=0
 Configures the URL for SDP. More...
 
virtual ZDK::Shared::String RTPEmail () const =0
 Gets the configured e-mail address for SDP. More...
 
virtual void RTPEmail (ZDK::Shared::String value)=0
 Configures the e-mail address for SDP. More...
 
- Public Member Functions inherited from ZDK::IZHandle
virtual ZDK::ZDKHandle Handle () const =0
 
virtual operator ZDK::ZDKHandle () const =0
 
virtual void Initialize ()=0
 
virtual void ReleaseReference ()=0
 

Detailed Description

General ZDK/Context configuration.

The configuration is applied with StartContext()! Any changes after StartContext() has been invoked will not take effect until a restart happens - StopContext() followed by StartContext().

Member Function Documentation

◆ EnableIPv6() [1/2]

virtual bool ZDK::IContextConfiguration::EnableIPv6 ( ) const
pure virtual

Gets the global use of IPv6 support.

Globally enable IPv6 support. Once enabled all networking will still try to go through IPv4 first, if possible, before trying IPv6. The IPv6 will be used as a backup in case IPv4 is either not available or inaccessible.

Returns
  • 0 - disabled
  • 1 - enabled

◆ EnableIPv6() [2/2]

virtual void ZDK::IContextConfiguration::EnableIPv6 ( bool  value)
pure virtual

Sets the global use of IPv6 support.

Globally enable IPv6 support. Once enabled all networking will still try to go through IPv4 first, if possible, before trying IPv6. The IPv6 will be used as a backup in case IPv4 is either not available or inaccessible.

Parameters
[in]value
  • 0 - disabled
  • 1 - enabled

◆ EnableSIPReliableProvisioning() [1/2]

virtual bool ZDK::IContextConfiguration::EnableSIPReliableProvisioning ( ) const
pure virtual

Gets the global usage of reliable provisional as described in RFC 3262.

The reliability mechanism works by mirroring the current reliability mechanisms for 2xx final responses to INVITE. The PRACK request plays the same role as ACK, but for provisional responses. There is an important difference, however. PRACK is a normal SIP message, like BYE. As such, its own reliability is ensured hop-by-hop through each stateful proxy. Also like BYE, but unlike ACK, PRACK has its own response.

Extending the Session Initiation Protocol (SIP) - RFC 3262.

Returns
  • 0 - disabled
  • 1 - enabled

◆ EnableSIPReliableProvisioning() [2/2]

virtual void ZDK::IContextConfiguration::EnableSIPReliableProvisioning ( bool  value)
pure virtual

Sets the global usage of reliable provisional as described in RFC 3262.

The reliability mechanism works by mirroring the current reliability mechanisms for 2xx final responses to INVITE. The PRACK request plays the same role as ACK, but for provisional responses. There is an important difference, however. PRACK is a normal SIP message, like BYE. As such, its own reliability is ensured hop-by-hop through each stateful proxy. Also like BYE, but unlike ACK, PRACK has its own response.

Extending the Session Initiation Protocol (SIP) - RFC 3262.

Parameters
[in]value
  • 0 - disabled
  • 1 - enabled

◆ MediaDSCP() [1/2]

virtual int ZDK::IContextConfiguration::MediaDSCP ( ) const
pure virtual

Gets the configured DSCP for the media streams.

This will affect the RTP, SRTP and IAX2 sockets. Might require administrative privileges.

Returns
The DiffServ Code Point
See also
SignalDSCP()

◆ MediaDSCP() [2/2]

virtual void ZDK::IContextConfiguration::MediaDSCP ( int  value)
pure virtual

Configures the DSCP for the media streams.

This will affect the RTP, SRTP and IAX2 sockets. Might require administrative privileges.

Parameters
[in]valueThe DiffServ Code Point
See also
SignalDSCP()

◆ RTPEmail() [1/2]

virtual ZDK::Shared::String ZDK::IContextConfiguration::RTPEmail ( ) const
pure virtual

Gets the configured e-mail address for SDP.

Sets the email address to put in SDP offers/answers. This is optional.

Returns
The e-mail address
See also
RTPPort(), RTPSessionName(), RTPUsername(), RTPUrl()

◆ RTPEmail() [2/2]

virtual void ZDK::IContextConfiguration::RTPEmail ( ZDK::Shared::String  value)
pure virtual

Configures the e-mail address for SDP.

Sets the email address to put in SDP offers/answers. This is optional.

Parameters
[in]valueThe e-mail address
See also
RTPPort(), RTPSessionName(), RTPUsername(), RTPUrl()

◆ RTPPort() [1/2]

virtual int ZDK::IContextConfiguration::RTPPort ( ) const
pure virtual

Gets the base port to be used for RTP streams.

Get the base UDP port to use for RTP streams. Default is 8000.

Each call uses two UDP ports, one for the actual audio stream and another one for the control (RTCP) packets. The first port is always even.

A free even port will be searched for from that base upwards for each call. When the call is finished the port will be reused in the future.

Returns
The RTP port base

◆ RTPPort() [2/2]

virtual void ZDK::IContextConfiguration::RTPPort ( int  value)
pure virtual

Sets the base port to be used for RTP streams.

Set the base UDP port to use for RTP streams. Default is 8000.

Each call uses two UDP ports, one for the actual audio stream and another one for the control (RTCP) packets. The first port is always even.

A free even port will be searched for from that base upwards for each call. When the call is finished the port will be reused in the future.

Parameters
[in]valueThe RTP port base

◆ RTPSessionName() [1/2]

virtual ZDK::Shared::String ZDK::IContextConfiguration::RTPSessionName ( ) const
pure virtual

Gets the configured RTP session name for the SDP.

Sets the RTP session name for the SDP offers/answers. The name should not contain spaces.

Returns
RTP session name
See also
RTPPort(), RTPUsername(), RTPUrl(), RTPEmail()

◆ RTPSessionName() [2/2]

virtual void ZDK::IContextConfiguration::RTPSessionName ( ZDK::Shared::String  value)
pure virtual

Configures the RTP session name for the SDP.

Sets the RTP session name for the SDP offers/answers. The name should not contain spaces.

Parameters
[in]valueRTP session name
See also
RTPPort(), RTPUsername(), RTPUrl(), RTPEmail()

◆ RTPUrl() [1/2]

virtual ZDK::Shared::String ZDK::IContextConfiguration::RTPUrl ( ) const
pure virtual

Gets the configured URL for SDP.

Sets the URL for the SDP offers/answers. This is optional.

Returns
The URL
See also
RTPPort(), RTPSessionName(), RTPUsername(), RTPEmail()

◆ RTPUrl() [2/2]

virtual void ZDK::IContextConfiguration::RTPUrl ( ZDK::Shared::String  value)
pure virtual

Configures the URL for SDP.

Sets the URL for the SDP offers/answers. This is optional.

Parameters
[in]valueThe URL
See also
RTPPort(), RTPSessionName(), RTPUsername(), RTPEmail()

◆ RTPUsername() [1/2]

virtual ZDK::Shared::String ZDK::IContextConfiguration::RTPUsername ( ) const
pure virtual

Gets the configured RTP user name for the SDP.

Sets the RTP user name for the SDP offers/answers. The user name should not contain spaces.

Returns
RTP user name
See also
RTPPort(), RTPSessionName(), RTPUrl(), RTPEmail()

◆ RTPUsername() [2/2]

virtual void ZDK::IContextConfiguration::RTPUsername ( ZDK::Shared::String  value)
pure virtual

Configures the RTP user name for the SDP.

Sets the RTP user name for the SDP offers/answers. The user name should not contain spaces.

Parameters
[in]valueRTP user name
See also
RTPPort(), RTPSessionName(), RTPUrl(), RTPEmail()

◆ SignalDSCP() [1/2]

virtual int ZDK::IContextConfiguration::SignalDSCP ( ) const
pure virtual

Gets the configured DSCP for the signaling streams.

This will affect the SIP sockets (UDP, TCP and TLS).

Returns
The DiffServ Code Point
See also
MediaDSCP()

◆ SignalDSCP() [2/2]

virtual void ZDK::IContextConfiguration::SignalDSCP ( int  value)
pure virtual

Configures the DSCP for the signaling streams.

This will affect the SIP sockets (UDP, TCP and TLS).

Parameters
[in]valueThe DiffServ Code Point
See also
MediaDSCP()

◆ SIPPort() [1/2]

virtual int ZDK::IContextConfiguration::SIPPort ( ) const
pure virtual

Gets the requested SIP port to be used.

In case the requested port was already taken the next available one will be opened. Default is 8000.

Returns
The request SIP port to be used

◆ SIPPort() [2/2]

virtual void ZDK::IContextConfiguration::SIPPort ( int  value)
pure virtual

Sets the requested SIP port to be used.

In case the requested port was already taken the next available one will be opened. Default is 8000.

Parameters
[in]valueThe request SIP port to be used

◆ UserAgent() [1/2]

virtual ZDK::Shared::String ZDK::IContextConfiguration::UserAgent ( ) const
pure virtual

Gets the ZDK's user agent.

Used in SIP messages mainly. (User-Agent header field).

Returns
value UTF-8 encoded user agent

◆ UserAgent() [2/2]

virtual void ZDK::IContextConfiguration::UserAgent ( ZDK::Shared::String  value)
pure virtual

Sets the ZDK's user agent.

Used in SIP messages mainly. (User-Agent header field).

Parameters
[in]valueUTF-8 encoded user agent

◆ UserSipInstance()

virtual ZDK::Shared::String ZDK::IContextConfiguration::UserSipInstance ( ) const
pure virtual

Generate a random UUID to be used for SIP user instance.

Generates a valid RFC 4122 (RFC 2141) UUID URN that can be used for RFC 5626 (SIP Outbound).

The result is a string in the format "urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx". The prefix is there for easier use of SipInstance().

Returns
Generated UUID URN
See also
SipInstance()

The documentation for this class was generated from the following file: