aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--UPGRADE.txt11
-rw-r--r--channels/chan_mgcp.c18
-rw-r--r--channels/chan_sip.c33
-rw-r--r--channels/chan_skinny.c12
-rw-r--r--configs/mgcp.conf.sample6
-rw-r--r--configs/res_ldap.conf.sample4
-rw-r--r--configs/sip.conf.sample32
-rw-r--r--configs/skinny.conf.sample2
-rw-r--r--contrib/scripts/realtime_pgsql.sql2
-rw-r--r--doc/chan_sip-perf-testing.txt2
-rw-r--r--doc/res_config_sqlite.txt2
-rw-r--r--doc/tex/phoneprov.tex2
12 files changed, 69 insertions, 57 deletions
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 8097c4bae..20d05807d 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -41,6 +41,17 @@ From 1.6.2 to 1.6.3:
From 1.6.1 to 1.6.2:
+* The 'canreinvite' option support by the SIP, MGCP and Skinny channel drivers
+ has been renamed to 'directmedia', to better reflect what it actually does.
+ In the case of SIP, there are still re-INVITEs issued for T.38 negotiation,
+ starting and stopping music-on-hold, and other reasons, and the 'canreinvite'
+ option never had any effect on these cases, it only affected the re-INVITEs
+ used for direct media path setup. For MGCP and Skinny, the option was poorly
+ named because those protocols don't even use INVITE messages at all. For
+ backwards compatibility, the old option is still supported in both normal
+ and Realtime configuration files, but all of the sample configuration files,
+ Realtime/LDAP schemas, and other documentation refer to it using the new name.
+
* The default console now will use colors according to the default background
color, instead of forcing the background color to black. If you are using a
light colored background for your console, you may wish to use the option
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index d682c76bb..8adaf12a3 100644
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -80,7 +80,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#define MGCPDUMPER
#define DEFAULT_EXPIRY 120
#define MAX_EXPIRY 3600
-#define CANREINVITE 1
+#define DIRECTMEDIA 1
#ifndef INADDR_NONE
#define INADDR_NONE (in_addr_t)(-1)
@@ -177,7 +177,7 @@ static int cancallforward = 0;
static int singlepath = 0;
-static int canreinvite = CANREINVITE;
+static int directmedia = DIRECTMEDIA;
static char accountcode[AST_MAX_ACCOUNT_CODE] = "";
@@ -330,7 +330,7 @@ struct mgcp_endpoint {
int threewaycalling;
int singlepath;
int cancallforward;
- int canreinvite;
+ int directmedia;
int callreturn;
int dnd; /* How does this affect callwait? Do we just deny a mgcp_request if we're dnd? */
int hascallerid;
@@ -3552,7 +3552,7 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
int i=0, y=0;
int gw_reload = 0;
int ep_reload = 0;
- canreinvite = CANREINVITE;
+ directmedia = DIRECTMEDIA;
/* locate existing gateway */
gw = gateways;
@@ -3662,8 +3662,8 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
cancallforward = ast_true(v->value);
} else if (!strcasecmp(v->name, "singlepath")) {
singlepath = ast_true(v->value);
- } else if (!strcasecmp(v->name, "canreinvite")) {
- canreinvite = ast_true(v->value);
+ } else if (!strcasecmp(v->name, "directmedia") || !strcasecmp(v->name, "canreinvite")) {
+ directmedia = ast_true(v->value);
} else if (!strcasecmp(v->name, "mailbox")) {
ast_copy_string(mailbox, v->value, sizeof(mailbox));
} else if (!strcasecmp(v->name, "hasvoicemail")) {
@@ -3748,7 +3748,7 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
e->callreturn = callreturn;
e->cancallforward = cancallforward;
e->singlepath = singlepath;
- e->canreinvite = canreinvite;
+ e->directmedia = directmedia;
e->callwaiting = callwaiting;
e->hascallwaiting = callwaiting;
e->slowsequence = slowsequence;
@@ -3851,7 +3851,7 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
e->pickupgroup=cur_pickupgroup;
e->callreturn = callreturn;
e->cancallforward = cancallforward;
- e->canreinvite = canreinvite;
+ e->directmedia = directmedia;
e->singlepath = singlepath;
e->callwaiting = callwaiting;
e->hascallwaiting = callwaiting;
@@ -3944,7 +3944,7 @@ static enum ast_rtp_glue_result mgcp_get_rtp_peer(struct ast_channel *chan, stru
*instance = sub->rtp ? ao2_ref(sub->rtp, +1), sub->rtp : NULL;
- if (sub->parent->canreinvite)
+ if (sub->parent->directmedia)
return AST_RTP_GLUE_RESULT_REMOTE;
else
return AST_RTP_GLUE_RESULT_LOCAL;
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5e777b4c3..78b42c821 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1457,8 +1457,8 @@ struct sip_auth {
/* re-INVITE related settings */
#define SIP_REINVITE (7 << 20) /*!< DP: four settings, uses three bits */
#define SIP_REINVITE_NONE (0 << 20) /*!< DP: no reinvite allowed */
-#define SIP_CAN_REINVITE (1 << 20) /*!< DP: allow peers to be reinvited to send media directly p2p */
-#define SIP_CAN_REINVITE_NAT (2 << 20) /*!< DP: allow media reinvite when new peer is behind NAT */
+#define SIP_DIRECT_MEDIA (1 << 20) /*!< DP: allow peers to be reinvited to send media directly p2p */
+#define SIP_DIRECT_MEDIA_NAT (2 << 20) /*!< DP: allow media reinvite when new peer is behind NAT */
#define SIP_REINVITE_UPDATE (4 << 20) /*!< DP: use UPDATE (RFC3311) when reinviting this peer */
/* "insecure" settings - see insecure2str() */
@@ -15369,7 +15369,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
ast_cli(fd, " Force rport : %s\n", cli_yesno(ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT)));
ast_cli(fd, " ACL : %s\n", cli_yesno(peer->ha != NULL));
ast_cli(fd, " T38 pt UDPTL : %s\n", cli_yesno(ast_test_flag(&peer->flags[1], SIP_PAGE2_T38SUPPORT)));
- ast_cli(fd, " CanReinvite : %s\n", cli_yesno(ast_test_flag(&peer->flags[0], SIP_CAN_REINVITE)));
+ ast_cli(fd, " DirectMedia : %s\n", cli_yesno(ast_test_flag(&peer->flags[0], SIP_DIRECT_MEDIA)));
ast_cli(fd, " PromiscRedir : %s\n", cli_yesno(ast_test_flag(&peer->flags[0], SIP_PROMISCREDIR)));
ast_cli(fd, " User=Phone : %s\n", cli_yesno(ast_test_flag(&peer->flags[0], SIP_USEREQPHONE)));
ast_cli(fd, " Video Support: %s\n", cli_yesno(ast_test_flag(&peer->flags[1], SIP_PAGE2_VIDEOSUPPORT)));
@@ -15473,7 +15473,8 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
astman_append(s, "SIP-AuthInsecure: %s\r\n", insecure2str(ast_test_flag(&peer->flags[0], SIP_INSECURE)));
astman_append(s, "SIP-Forcerport: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT)?"Y":"N"));
astman_append(s, "ACL: %s\r\n", (peer->ha?"Y":"N"));
- astman_append(s, "SIP-CanReinvite: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_CAN_REINVITE)?"Y":"N"));
+ astman_append(s, "SIP-CanReinvite: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_DIRECT_MEDIA)?"Y":"N"));
+ astman_append(s, "SIP-DirectMedia: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_DIRECT_MEDIA)?"Y":"N"));
astman_append(s, "SIP-PromiscRedir: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_PROMISCREDIR)?"Y":"N"));
astman_append(s, "SIP-UserPhone: %s\r\n", (ast_test_flag(&peer->flags[0], SIP_USEREQPHONE)?"Y":"N"));
astman_append(s, "SIP-VideoSupport: %s\r\n", (ast_test_flag(&peer->flags[1], SIP_PAGE2_VIDEOSUPPORT)?"Y":"N"));
@@ -23488,11 +23489,11 @@ static int handle_common_options(struct ast_flags *flags, struct ast_flags *mask
ast_set_flag(&mask[1], SIP_PAGE2_SYMMETRICRTP);
ast_set_flag(&flags[1], SIP_PAGE2_SYMMETRICRTP);
}
- } else if (!strcasecmp(v->name, "canreinvite")) {
+ } else if (!strcasecmp(v->name, "directmedia") || !strcasecmp(v->name, "canreinvite")) {
ast_set_flag(&mask[0], SIP_REINVITE);
ast_clear_flag(&flags[0], SIP_REINVITE);
if (ast_true(v->value)) {
- ast_set_flag(&flags[0], SIP_CAN_REINVITE | SIP_CAN_REINVITE_NAT);
+ ast_set_flag(&flags[0], SIP_DIRECT_MEDIA | SIP_DIRECT_MEDIA_NAT);
} else if (!ast_false(v->value)) {
char buf[64];
char *word, *next = buf;
@@ -23500,12 +23501,12 @@ static int handle_common_options(struct ast_flags *flags, struct ast_flags *mask
ast_copy_string(buf, v->value, sizeof(buf));
while ((word = strsep(&next, ","))) {
if (!strcasecmp(word, "update")) {
- ast_set_flag(&flags[0], SIP_REINVITE_UPDATE | SIP_CAN_REINVITE);
+ ast_set_flag(&flags[0], SIP_REINVITE_UPDATE | SIP_DIRECT_MEDIA);
} else if (!strcasecmp(word, "nonat")) {
- ast_set_flag(&flags[0], SIP_CAN_REINVITE);
- ast_clear_flag(&flags[0], SIP_CAN_REINVITE_NAT);
+ ast_set_flag(&flags[0], SIP_DIRECT_MEDIA);
+ ast_clear_flag(&flags[0], SIP_DIRECT_MEDIA_NAT);
} else {
- ast_log(LOG_WARNING, "Unknown canreinvite mode '%s' on line %d\n", v->value, v->lineno);
+ ast_log(LOG_WARNING, "Unknown directmedia mode '%s' on line %d\n", v->value, v->lineno);
}
}
}
@@ -24594,7 +24595,7 @@ static int reload_config(enum channelreloadreason reason)
ast_copy_string(default_mohsuggest, DEFAULT_MOHSUGGEST, sizeof(default_mohsuggest));
ast_copy_string(default_vmexten, DEFAULT_VMEXTEN, sizeof(default_vmexten));
ast_set_flag(&global_flags[0], SIP_DTMF_RFC2833); /*!< Default DTMF setting: RFC2833 */
- ast_set_flag(&global_flags[0], SIP_CAN_REINVITE); /*!< Allow re-invites */
+ ast_set_flag(&global_flags[0], SIP_DIRECT_MEDIA); /*!< Allow re-invites */
ast_copy_string(default_engine, DEFAULT_ENGINE, sizeof(default_engine));
/* Debugging settings, always default to off */
@@ -25291,7 +25292,7 @@ static struct ast_udptl *sip_get_udptl_peer(struct ast_channel *chan)
return NULL;
sip_pvt_lock(p);
- if (p->udptl && ast_test_flag(&p->flags[0], SIP_CAN_REINVITE))
+ if (p->udptl && ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA))
udptl = p->udptl;
sip_pvt_unlock(p);
return udptl;
@@ -25342,7 +25343,7 @@ static enum ast_rtp_glue_result sip_get_rtp_peer(struct ast_channel *chan, struc
ao2_ref(p->rtp, +1);
*instance = p->rtp;
- if (ast_test_flag(&p->flags[0], SIP_CAN_REINVITE | SIP_CAN_REINVITE_NAT)) {
+ if (ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA | SIP_DIRECT_MEDIA_NAT)) {
res = AST_RTP_GLUE_RESULT_REMOTE;
} else if (ast_test_flag(&global_jbconf, AST_JB_FORCED)) {
res = AST_RTP_GLUE_RESULT_FORBID;
@@ -25371,7 +25372,7 @@ static enum ast_rtp_glue_result sip_get_vrtp_peer(struct ast_channel *chan, stru
ao2_ref(p->vrtp, +1);
*instance = p->vrtp;
- if (ast_test_flag(&p->flags[0], SIP_CAN_REINVITE)) {
+ if (ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA)) {
res = AST_RTP_GLUE_RESULT_REMOTE;
}
@@ -25398,7 +25399,7 @@ static enum ast_rtp_glue_result sip_get_trtp_peer(struct ast_channel *chan, stru
ao2_ref(p->trtp, +1);
*instance = p->trtp;
- if (ast_test_flag(&p->flags[0], SIP_CAN_REINVITE)) {
+ if (ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA)) {
res = AST_RTP_GLUE_RESULT_REMOTE;
}
@@ -25430,7 +25431,7 @@ static int sip_set_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance *i
/* if this peer cannot handle reinvites of the media stream to devices
that are known to be behind a NAT, then stop the process now
*/
- if (nat_active && !ast_test_flag(&p->flags[0], SIP_CAN_REINVITE_NAT)) {
+ if (nat_active && !ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA_NAT)) {
sip_pvt_unlock(p);
return 0;
}
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 6a82c74e5..edaf148d8 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -1239,7 +1239,7 @@ struct skinny_subchannel {
int immediate; \
int hookstate; \
int nat; \
- int canreinvite; \
+ int directmedia; \
int prune;
struct skinny_line {
@@ -1265,7 +1265,7 @@ static struct skinny_line_options{
.hidecallerid = 0,
.amaflags = 0,
.instance = 0,
- .canreinvite = 0,
+ .directmedia = 0,
.nat = 0,
.confcapability = AST_FORMAT_ULAW | AST_FORMAT_ALAW,
.capability = 0,
@@ -2689,7 +2689,7 @@ static enum ast_rtp_glue_result skinny_get_rtp_peer(struct ast_channel *c, struc
l = sub->parent;
- if (!l->canreinvite || l->nat){
+ if (!l->directmedia || l->nat){
res = AST_RTP_GLUE_RESULT_LOCAL;
if (skinnydebug)
ast_verb(1, "skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL \n");
@@ -2749,7 +2749,7 @@ static int skinny_set_rtp_peer(struct ast_channel *c, struct ast_rtp_instance *r
req->data.startmedia.conferenceId = htolel(sub->callid);
req->data.startmedia.passThruPartyId = htolel(sub->callid);
- if (!(l->canreinvite) || (l->nat)){
+ if (!(l->directmedia) || (l->nat)){
ast_rtp_instance_get_local_address(rtp, &us);
req->data.startmedia.remoteIp = htolel(d->ourip.s_addr);
req->data.startmedia.remotePort = htolel(ntohs(us.sin_port));
@@ -6717,9 +6717,9 @@ static struct ast_channel *skinny_request(const char *type, int format, const st
CLINE_OPTS->callwaiting = ast_true(v->value);
continue;
}
- } else if (!strcasecmp(v->name, "canreinvite")) {
+ } else if (!strcasecmp(v->name, "directmedia") || !strcasecmp(v->name, "canreinvite")) {
if (type & (TYPE_DEF_LINE | TYPE_LINE)) {
- CLINE_OPTS->canreinvite = ast_true(v->value);
+ CLINE_OPTS->directmedia = ast_true(v->value);
continue;
}
} else if (!strcasecmp(v->name, "nat")) {
diff --git a/configs/mgcp.conf.sample b/configs/mgcp.conf.sample
index 116b66cd0..fde0a4fc6 100644
--- a/configs/mgcp.conf.sample
+++ b/configs/mgcp.conf.sample
@@ -41,7 +41,7 @@
;[dlinkgw]
;host = 192.168.0.64
;context = default
-;canreinvite = no
+;directmedia = no
;line => aaln/2
;line => aaln/1
@@ -96,7 +96,7 @@
;callwaiting = no
;callreturn = yes
;cancallforward = yes
-;canreinvite = no
+;directmedia = no
;transfer = no
;dtmfmode = inband
;line => aaln/1 ; now lets save this config to line1 aka aaln/1
@@ -104,7 +104,7 @@
;callwaiting = no
;callreturn = yes
;cancallforward = yes
-;canreinvite = no
+;directmedia = no
;transfer = no
;dtmfmode = inband
;line => aaln/2 ; now lets save this config to line2 aka aaln/2
diff --git a/configs/res_ldap.conf.sample b/configs/res_ldap.conf.sample
index 0a442298d..b02045f15 100644
--- a/configs/res_ldap.conf.sample
+++ b/configs/res_ldap.conf.sample
@@ -60,7 +60,7 @@ name = cn
amaflags = AstAccountAMAFlags
callgroup = AstAccountCallGroup
callerid = AstAccountCallerID
-canreinvite = AstAccountCanReinvite
+directmedia = AstAccountDirectMedia
context = AstAccountContext
dtmfmode = AstAccountDTMFMode
fromuser = AstAccountFromUser
@@ -131,7 +131,7 @@ additionalFilter=(objectClass=*)
amaflags = AstAccountAMAFlags
callgroup = AstAccountCallGroup
callerid = AstAccountCallerID
-canreinvite = AstAccountCanReinvite
+directmedia = AstAccountDirectMedia
context = AstAccountContext
dtmfmode = AstAccountDTMFMode
fromuser = AstAccountFromUser
diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample
index fef5ef8f4..ba9b0c619 100644
--- a/configs/sip.conf.sample
+++ b/configs/sip.conf.sample
@@ -662,17 +662,17 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; nat = comedia ; Use rport if the remote side says to use it and perform symmetric RTP.
;----------------------------------- MEDIA HANDLING --------------------------------
-; By default, Asterisk tries to re-invite the audio to an optimal path. If there's
+; By default, Asterisk tries to re-invite media streams to an optimal path. If there's
; no reason for Asterisk to stay in the media path, the media will be redirected.
-; This does not really work with in the case where Asterisk is outside and have
-; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat
+; This does not really work well in the case where Asterisk is outside and the
+; clients are on the inside of a NAT. In that case, you want to set directmedia=nonat.
;
-;canreinvite=yes ; Asterisk by default tries to redirect the
- ; RTP media stream (audio) to go directly from
+;directmedia=yes ; Asterisk by default tries to redirect the
+ ; RTP media stream to go directly from
; the caller to the callee. Some devices do not
; support this (especially if one of them is behind a NAT).
; The default setting is YES. If you have all clients
- ; behind a NAT, or for some other reason wants Asterisk to
+ ; behind a NAT, or for some other reason want Asterisk to
; stay in the audio path, you may want to turn this off.
; This setting also affect direct RTP
@@ -684,18 +684,18 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; the call directly with media peer-2-peer without re-invites.
; Will not work for video and cases where the callee sends
; RTP payloads and fmtp headers in the 200 OK that does not match the
- ; callers INVITE. This will also fail if canreinvite is enabled when
+ ; callers INVITE. This will also fail if directmedia is enabled when
; the device is actually behind NAT.
-;canreinvite=nonat ; An additional option is to allow media path redirection
+;directmedia=nonat ; An additional option is to allow media path redirection
; (reinvite) but only when the peer where the media is being
; sent is known to not be behind a NAT (as the RTP core can
; determine it based on the apparent IP address the media
; arrives from).
-;canreinvite=update ; Yet a third option... use UPDATE for media path redirection,
+;directmedia=update ; Yet a third option... use UPDATE for media path redirection,
; instead of INVITE. This can be combined with 'nonat', as
- ; 'canreinvite=update,nonat'. It implies 'yes'.
+ ; 'directmedia=update,nonat'. It implies 'yes'.
;ignoresdpversion=yes ; By default, Asterisk will honor the session version
; number in SDP packets and will only modify the SDP
@@ -859,7 +859,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; remotesecret
; transport
; dtmfmode
-; canreinvite
+; directmedia
; nat
; callgroup
; pickupgroup
@@ -969,12 +969,12 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
[natted-phone](!,basic-options) ; another template inheriting basic-options
nat=yes
- canreinvite=no
+ directmedia=no
host=dynamic
[public-phone](!,basic-options) ; another template inheriting basic-options
nat=no
- canreinvite=yes
+ directmedia=yes
[my-codecs](!) ; a template for my preferred codecs
disallow=all
@@ -1009,7 +1009,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;host=192.168.0.23 ; we have a static but private IP address
; No registration allowed
;nat=no ; there is not NAT between phone and Asterisk
-;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk
+;directmedia=yes ; allow RTP voice traffic to bypass Asterisk
;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone
;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time
; from the phone to asterisk (deprecated)
@@ -1039,7 +1039,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;callerid="Jane Smith" <5678>
;host=dynamic ; This device needs to register
;nat=yes ; X-Lite is behind a NAT router
-;canreinvite=no ; Typically set to NO if behind NAT
+;directmedia=no ; Typically set to NO if behind NAT
;disallow=all
;allow=gsm ; GSM consumes far less bandwidth than ulaw
;allow=ulaw
@@ -1112,7 +1112,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; Send SIP and RTP to the IP address that packet is
; received from instead of trusting SIP headers
;host=dynamic ; This device registers with us
-;canreinvite=no ; Asterisk by default tries to redirect the
+;directmedia=no ; Asterisk by default tries to redirect the
; RTP media stream (audio) to go directly from
; the caller to the callee. Some devices do not
; support this (especially if one of them is
diff --git a/configs/skinny.conf.sample b/configs/skinny.conf.sample
index 701723923..dfbddd4c5 100644
--- a/configs/skinny.conf.sample
+++ b/configs/skinny.conf.sample
@@ -157,7 +157,7 @@ keepalive=120
;device=SEP00D0BA847E6B
;version=P002G204 ; Thanks critch
;context=did
-;canreinvite=yes ; Allow media to go directly between two RTP endpoints.
+;directmedia=yes ; Allow media to go directly between two RTP endpoints.
;line=120 ; Dial(Skinny/120@florian)
; Typical config for a 7910
diff --git a/contrib/scripts/realtime_pgsql.sql b/contrib/scripts/realtime_pgsql.sql
index 5539bbeb8..d50dff55b 100644
--- a/contrib/scripts/realtime_pgsql.sql
+++ b/contrib/scripts/realtime_pgsql.sql
@@ -37,7 +37,7 @@ accountcode character varying(20),
amaflags character varying(7),
callgroup character varying(10),
callerid character varying(80),
-canreinvite character varying(3) DEFAULT 'yes',
+directmedia character varying(3) DEFAULT 'yes',
context character varying(80),
defaultip character varying(15),
dtmfmode character varying(7),
diff --git a/doc/chan_sip-perf-testing.txt b/doc/chan_sip-perf-testing.txt
index 85b22bddc..56992ac7f 100644
--- a/doc/chan_sip-perf-testing.txt
+++ b/doc/chan_sip-perf-testing.txt
@@ -58,7 +58,7 @@ type=friend
context=test11
host=192.168.134.240 ;; the address of the host you will be running sipp on
user=sipp
-canreinvite=no
+directmedia=no
disallow=all
allow=ulaw
diff --git a/doc/res_config_sqlite.txt b/doc/res_config_sqlite.txt
index 39d31521a..95322cf10 100644
--- a/doc/res_config_sqlite.txt
+++ b/doc/res_config_sqlite.txt
@@ -70,7 +70,7 @@ CREATE TABLE ast_sip (
callgroup VARCHAR(10) DEFAULT NULL,
callerid VARCHAR(80) DEFAULT NULL,
cancallforward CHAR(3) DEFAULT 'yes',
- canreinvite CHAR(3) DEFAULT 'yes',
+ directmedia CHAR(3) DEFAULT 'yes',
context VARCHAR(80) DEFAULT NULL,
defaultip VARCHAR(15) DEFAULT NULL,
dtmfmode VARCHAR(7) DEFAULT NULL,
diff --git a/doc/tex/phoneprov.tex b/doc/tex/phoneprov.tex
index cb236a89a..04ca22fd0 100644
--- a/doc/tex/phoneprov.tex
+++ b/doc/tex/phoneprov.tex
@@ -146,7 +146,7 @@ threewaycalling = yes
deletevoicemail = no
autoprov = yes
profile = polycom
-canreinvite = no
+directmedia = no
nat = no
fullname = User Two ; ${DISPLAY_NAME}
secret = test ; ${SECRET}