OPAL  Version 3.14.3
sipcon.h File Reference
#include <opal_config.h>
#include <rtp/rtpconn.h>
#include <sip/sippdu.h>
#include <sip/handlers.h>
#include <sip/sdp.h>
Include dependency graph for sipcon.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  SIPConnection
 
struct  SIPConnection::Init
 

Macros

#define OPAL_OPT_FORWARD_REFER   "Forward-Refer"
 
#define OPAL_OPT_REFER_SUB   "Refer-Sub"
 
#define OPAL_OPT_PRACK_MODE   "PRACK-Mode"
 
#define OPAL_OPT_INITIAL_OFFER   "Initial-Offer"
 
#define OPAL_OPT_SYMMETRIC_HOLD_PRODUCT   "Symmetric-Hold-Product"
 
#define OPAL_OPT_ALLOW_EARLY_REPLACE   "Allow-Early-Replace"
 
#define OPAL_OPT_EXTERNAL_SDP   "External-SDP"
 
#define OPAL_OPT_RTCP_MUX   "RTCP-Mux"
 
#define OPAL_OPT_AV_GROUPING   "AV-Grouping"
 
#define OPAL_OPT_UNSECURE_SRTP   "Unsecure-SRTP"
 
#define SIP_HEADER_PREFIX   "SIP-Header:"
 
#define SIP_HEADER_REPLACES   SIP_HEADER_PREFIX"Replaces"
 
#define SIP_HEADER_REFERRED_BY   SIP_HEADER_PREFIX"Referred-By"
 
#define SIP_HEADER_CONTACT   SIP_HEADER_PREFIX"Contact"
 
#define OPAL_SIP_REFERRED_CONNECTION   "Referred-Connection"
 

Macro Definition Documentation

#define OPAL_OPT_ALLOW_EARLY_REPLACE   "Allow-Early-Replace"

Allow INVITE with Replaces to operate on "early" dialog. While RFC 3891 explicitly forbids and incoming INVITE with Replaces to replace a call which was incoming to the UA. It is allowed for a dialog originated by the UA receiving the INVITE with Replace, but not for ones where it is "ringing". Unfortunately, some systems (*cough Cisco) do it anyway. This option allows the replacement and dows not send the 481 response as required by the specification.

Defaults to false.

#define OPAL_OPT_AV_GROUPING   "AV-Grouping"

Enable audio/video grouping in SDP. This add various identifiers to the SDP to link the audio and video medis sessions together. For example, to do lip sync.

Defaults to true.

#define OPAL_OPT_EXTERNAL_SDP   "External-SDP"

OpalConnection::StringOption key to a string representing the precise SDP to be included in the INVITE offer. No media streams are opened or any checks whstsoever made on the string. It is simply included as the body of the INVITE.

Note this options presence also prevents handling of the response SDP

Defaults to empty string which generates SDP from available media formats and media streams.

#define OPAL_OPT_FORWARD_REFER   "Forward-Refer"

OpalConnection::StringOption key to a boolean indicating that call deflection/forwarding should use REFER rather tha 302 response. Default false.

#define OPAL_OPT_INITIAL_OFFER   "Initial-Offer"

OpalConnection::StringOption key to a boolean indicating that we should make initial SDP offer. Default true.

#define OPAL_OPT_PRACK_MODE   "PRACK-Mode"

OpalConnection::StringOption key to an integer indicating the the mode for the reliable provisional response system. See PRACKMode for more information. Default is from SIPEndPoint::GetDefaultPRACKMode() which in turn defaults to e_prackSupported.

#define OPAL_OPT_REFER_SUB   "Refer-Sub"

OpalConnection::StringOption key to a boolean indicating the the state of the "Refer-Sub" header in the REFER request. Default true.

#define OPAL_OPT_RTCP_MUX   "RTCP-Mux"

Enable offer of RTP/RTCP "single port" mode. While if offerred by the remote, we always honour the SDP a=rtcp-mux attribute, we only offer it if this string option is set to true.

Defaults to false.

#define OPAL_OPT_SYMMETRIC_HOLD_PRODUCT   "Symmetric-Hold-Product"

OpalConnection::StringOption key to a string for a regular expression to match the product information, which if matching the remote system, will indicate the remote does not support asymmetric hold as required by the standard.

This fault is when SDP sendonly is sent (us putting them on hold), and they reply inactive, which implies them putting us on hold. When we subsequently send recvonly to release our hold to them, they continue to send inactive, and hold is never released.

Note the OpalProductInfo vendor, name & version strings are concatenated before comparison with the regular expression.

Defaults to empty string.

#define OPAL_OPT_UNSECURE_SRTP   "Unsecure-SRTP"

Enable SRTP when not using secure signalling (sips) Normally SRTP and SDES only applies to secure signalling, sips or transport=tls, however this flag will allow it on unsecure connections which means the key exchange can be observed.

Defaults to false.

#define OPAL_SIP_REFERRED_CONNECTION   "Referred-Connection"
#define SIP_HEADER_CONTACT   SIP_HEADER_PREFIX"Contact"
#define SIP_HEADER_PREFIX   "SIP-Header:"
#define SIP_HEADER_REFERRED_BY   SIP_HEADER_PREFIX"Referred-By"
#define SIP_HEADER_REPLACES   SIP_HEADER_PREFIX"Replaces"