summaryrefslogtreecommitdiff
path: root/channels/sip/include/sip.h
diff options
context:
space:
mode:
Diffstat (limited to 'channels/sip/include/sip.h')
-rw-r--r--channels/sip/include/sip.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h
index f74446ab8..3af35b048 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -294,6 +294,7 @@
#define SIP_PROG_INBAND_NO (1 << 25)
#define SIP_PROG_INBAND_YES (2 << 25)
+#define SIP_USEPATH (1 << 27) /*!< GDP: Trust and use incoming Path headers? */
#define SIP_SENDRPID (3 << 29) /*!< DP: Remote Party-ID Support */
#define SIP_SENDRPID_NO (0 << 29)
#define SIP_SENDRPID_PAI (1 << 29) /*!< Use "P-Asserted-Identity" for rpid */
@@ -304,7 +305,7 @@
#define SIP_FLAGS_TO_COPY \
(SIP_PROMISCREDIR | SIP_TRUSTRPID | SIP_SENDRPID | SIP_DTMF | SIP_REINVITE | \
SIP_PROG_INBAND | SIP_USECLIENTCODE | SIP_NAT_FORCE_RPORT | SIP_G726_NONSTANDARD | \
- SIP_USEREQPHONE | SIP_INSECURE)
+ SIP_USEREQPHONE | SIP_INSECURE | SIP_USEPATH)
/*@}*/
/*! \name SIPflags2
@@ -737,6 +738,7 @@ struct __show_chan_arg {
struct sip_settings {
int peer_rtupdate; /*!< G: Update database with registration data for peer? */
int rtsave_sysname; /*!< G: Save system name at registration? */
+ int rtsave_path; /*!< G: Save path header on registration */
int ignore_regexpire; /*!< G: Ignore expiration of peer */
int rtautoclear; /*!< Realtime ?? */
int directrtpsetup; /*!< Enable support for Direct RTP setup (no re-invites) */
@@ -1368,6 +1370,7 @@ struct sip_peer {
int timer_t1; /*!< The maximum T1 value for the peer */
int timer_b; /*!< The maximum timer B (transaction timeouts) */
int fromdomainport; /*!< The From: domain port */
+ struct sip_route *path; /*!< Head of linked list of out-of-dialog outgoing routing steps (fm Path headers) */
/*XXX Seems like we suddenly have two flags with the same content. Why? To be continued... */
enum sip_peer_type type; /*!< Distinguish between "user" and "peer" types. This is used solely for CLI and manager commands */