diff options
-rw-r--r-- | UPGRADE.txt | 11 | ||||
-rw-r--r-- | channels/chan_mgcp.c | 18 | ||||
-rw-r--r-- | channels/chan_sip.c | 41 | ||||
-rw-r--r-- | channels/chan_skinny.c | 12 | ||||
-rw-r--r-- | configs/mgcp.conf.sample | 6 | ||||
-rw-r--r-- | configs/res_ldap.conf.sample | 4 | ||||
-rw-r--r-- | configs/sip.conf.sample | 32 | ||||
-rw-r--r-- | configs/skinny.conf.sample | 2 | ||||
-rw-r--r-- | contrib/scripts/realtime_pgsql.sql | 2 | ||||
-rw-r--r-- | doc/chan_sip-perf-testing.txt | 2 | ||||
-rw-r--r-- | doc/res_config_sqlite.txt | 2 | ||||
-rw-r--r-- | doc/tex/phoneprov.tex | 2 | ||||
-rw-r--r-- | main/rtp.c | 4 |
13 files changed, 75 insertions, 63 deletions
diff --git a/UPGRADE.txt b/UPGRADE.txt index 238920ceb..9903ff0d7 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -30,6 +30,17 @@ From 1.6.1 to 1.6.2: Asterisk and various SIP/T.38 endpoints identified by many users of Asterisk. +* 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 1c1482975..1cb2f4de7 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; @@ -3557,7 +3557,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; @@ -3667,8 +3667,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")) { @@ -3753,7 +3753,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; @@ -3856,7 +3856,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; @@ -3949,7 +3949,7 @@ static enum ast_rtp_get_result mgcp_get_rtp_peer(struct ast_channel *chan, struc *rtp = sub->rtp; - if (sub->parent->canreinvite) + if (sub->parent->directmedia) return AST_RTP_TRY_NATIVE; else return AST_RTP_TRY_PARTIAL; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 155a3775e..99d8e36a3 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1335,8 +1335,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() */ @@ -14796,7 +14796,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct ast_cli(fd, " Nat : %s\n", nat2str(ast_test_flag(&peer->flags[0], SIP_NAT))); 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))); @@ -14899,7 +14899,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-NatSupport: %s\r\n", nat2str(ast_test_flag(&peer->flags[0], SIP_NAT))); 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")); @@ -22535,11 +22536,11 @@ static int handle_common_options(struct ast_flags *flags, struct ast_flags *mask ast_set_flag(&flags[0], SIP_NAT_ALWAYS); else ast_set_flag(&flags[0], SIP_NAT_RFC3581); - } 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; @@ -22547,12 +22548,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); } } } @@ -23625,7 +23626,7 @@ static int reload_config(enum channelreloadreason reason) 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_NAT_RFC3581); /*!< NAT support if requested by device with rport */ - ast_set_flag(&global_flags[0], SIP_CAN_REINVITE); /*!< Allow re-invites */ + ast_set_flag(&global_flags[0], SIP_DIRECT_MEDIA); /*!< Allow re-invites */ /* Debugging settings, always default to off */ dumphistory = FALSE; @@ -24331,7 +24332,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; @@ -24381,9 +24382,9 @@ static enum ast_rtp_get_result sip_get_rtp_peer(struct ast_channel *chan, struct *rtp = p->rtp; - if (ast_rtp_getnat(*rtp) && !ast_test_flag(&p->flags[0], SIP_CAN_REINVITE_NAT)) + if (ast_rtp_getnat(*rtp) && !ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA_NAT)) res = AST_RTP_TRY_PARTIAL; - else if (ast_test_flag(&p->flags[0], SIP_CAN_REINVITE)) + else if (ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA)) res = AST_RTP_TRY_NATIVE; else if (ast_test_flag(&global_jbconf, AST_JB_FORCED)) res = AST_RTP_GET_FAILED; @@ -24410,7 +24411,7 @@ static enum ast_rtp_get_result sip_get_vrtp_peer(struct ast_channel *chan, struc *rtp = 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_TRY_NATIVE; sip_pvt_unlock(p); @@ -24435,7 +24436,7 @@ static enum ast_rtp_get_result sip_get_trtp_peer(struct ast_channel *chan, struc *rtp = 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_TRY_NATIVE; sip_pvt_unlock(p); @@ -24467,10 +24468,10 @@ static int sip_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp, struc /* 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)) { - sip_pvt_unlock(p); - return 0; - } + if (nat_active && !ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA_NAT)) { + sip_pvt_unlock(p); + return 0; + } if (rtp) { changed |= ast_rtp_get_peer(rtp, &p->redirip); diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 5f72ff310..864d52a92 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -1182,7 +1182,7 @@ struct skinny_subchannel { int immediate; \ int hookstate; \ int nat; \ - int canreinvite; \ + int directmedia; \ int prune; struct skinny_line { @@ -1208,7 +1208,7 @@ 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, @@ -2593,7 +2593,7 @@ static enum ast_rtp_get_result skinny_get_rtp_peer(struct ast_channel *c, struct l = sub->parent; - if (!l->canreinvite || l->nat){ + if (!l->directmedia || l->nat){ res = AST_RTP_TRY_PARTIAL; if (skinnydebug) ast_verb(1, "skinny_get_rtp_peer() Using AST_RTP_TRY_PARTIAL \n"); @@ -2653,7 +2653,7 @@ static int skinny_set_rtp_peer(struct ast_channel *c, struct ast_rtp *rtp, struc 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_get_us(rtp, &us); req->data.startmedia.remoteIp = htolel(d->ourip.s_addr); req->data.startmedia.remotePort = htolel(ntohs(us.sin_port)); @@ -6631,9 +6631,9 @@ static struct ast_channel *skinny_request(const char *type, int format, void *da 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 104891e8a..c20b34a7c 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 7a43598d4..b2050879f 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -611,17 +611,17 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; ; (work around more UNIDEN bugs) ;----------------------------------- 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 @@ -633,18 +633,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 @@ -808,7 +808,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; remotesecret ; transport ; dtmfmode -; canreinvite +; directmedia ; nat ; callgroup ; pickupgroup @@ -918,12 +918,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 @@ -958,7 +958,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) @@ -988,7 +988,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 @@ -1061,7 +1061,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 a7b188c45..2c26e6bf8 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} diff --git a/main/rtp.c b/main/rtp.c index c77db1969..1ae21bab5 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2124,7 +2124,7 @@ int ast_rtp_early_bridge(struct ast_channel *c0, struct ast_channel *c1) text_src_res = srcpr->get_trtp_info ? srcpr->get_trtp_info(c1, &tsrcp) : AST_RTP_GET_FAILED; } - /* Check if bridge is still possible (In SIP canreinvite=no stops this, like NAT) */ + /* Check if bridge is still possible (In SIP directmedia=no stops this, like NAT) */ if (audio_dest_res != AST_RTP_TRY_NATIVE || (video_dest_res != AST_RTP_GET_FAILED && video_dest_res != AST_RTP_TRY_NATIVE)) { /* Somebody doesn't want to play... */ ast_channel_unlock(c0); @@ -2211,7 +2211,7 @@ int ast_rtp_make_compatible(struct ast_channel *dest, struct ast_channel *src, i else destcodec = 0; - /* Check if bridge is still possible (In SIP canreinvite=no stops this, like NAT) */ + /* Check if bridge is still possible (In SIP directmedia=no stops this, like NAT) */ if (audio_dest_res != AST_RTP_TRY_NATIVE || (video_dest_res != AST_RTP_GET_FAILED && video_dest_res != AST_RTP_TRY_NATIVE) || audio_src_res != AST_RTP_TRY_NATIVE || (video_src_res != AST_RTP_GET_FAILED && video_src_res != AST_RTP_TRY_NATIVE) || !(srccodec & destcodec)) { /* Somebody doesn't want to play... */ ast_channel_unlock(dest); |