mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-26 14:27:14 +00:00
On second thought, add new "never" option for progressinband
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1900,16 +1900,14 @@ static int sip_indicate(struct ast_channel *ast, int condition)
|
||||
switch(condition) {
|
||||
case AST_CONTROL_RINGING:
|
||||
if (ast->_state == AST_STATE_RING) {
|
||||
/* Send 180 ringing no matter what */
|
||||
if (!p->progress || !p->progressinband) {
|
||||
/* Send 180 ringing if out-of-band seems reasonable */
|
||||
transmit_response(p, "180 Ringing", &p->initreq);
|
||||
if (!p->progress) {
|
||||
p->ringing = 1;
|
||||
if (!p->progressinband)
|
||||
if (!p->progressinband > 1)
|
||||
break;
|
||||
} else {
|
||||
/* Oops, we've sent progress tones. Some devices don't seem to
|
||||
handle a 180 after a 183, so we'll go ahead and send the
|
||||
ringback in-band, too. */
|
||||
/* Well, if it's not reasonable, just send in-band */
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
@@ -8208,7 +8206,12 @@ static struct sip_user *build_user(const char *name, struct ast_variable *v)
|
||||
} else if (!strcasecmp(v->name, "useclientcode")) {
|
||||
user->useclientcode = ast_true(v->value);
|
||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
||||
user->progressinband = ast_true(v->value);
|
||||
if (!strcasecmp(v->value, "never"))
|
||||
user->progressinband = 0;
|
||||
else if (ast_true(v->value))
|
||||
user->progressinband = 2;
|
||||
else
|
||||
user->progressinband = 1;
|
||||
#ifdef OSP_SUPPORT
|
||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||
if (!strcasecmp(v->value, "exclusive")) {
|
||||
@@ -8474,7 +8477,12 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int
|
||||
} else if (!strcasecmp(v->name, "trustrpid")) {
|
||||
peer->trustrpid = ast_true(v->value);
|
||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
||||
peer->progressinband = ast_true(v->value);
|
||||
if (!strcasecmp(v->value, "never"))
|
||||
peer->progressinband = 0;
|
||||
else if (ast_true(v->value))
|
||||
peer->progressinband = 2;
|
||||
else
|
||||
peer->progressinband = 1;
|
||||
#ifdef OSP_SUPPORT
|
||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||
if (!strcasecmp(v->value, "exclusive")) {
|
||||
@@ -8625,7 +8633,12 @@ static int reload_config(void)
|
||||
} else if (!strcasecmp(v->name, "trustrpid")) {
|
||||
global_trustrpid = ast_true(v->value);
|
||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
||||
global_progressinband = ast_true(v->value);
|
||||
if (!strcasecmp(v->value, "never"))
|
||||
global_progressinband = 0;
|
||||
else if (ast_true(v->value))
|
||||
global_progressinband = 2;
|
||||
else
|
||||
global_progressinband = 1;
|
||||
#ifdef OSP_SUPPORT
|
||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||
if (!strcasecmp(v->value, "exclusive")) {
|
||||
|
||||
@@ -62,6 +62,8 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
|
||||
; when we're on hold (must be > rtptimeout)
|
||||
;trustrpid = no ; If Remote-Party-ID should be trusted
|
||||
;progressinband=no ; If we should generate in-band ringing always
|
||||
; use 'never' to never use in-band signalling, even in cases
|
||||
; where some buggy devices might not render it
|
||||
;useragent=Asterisk PBX ; Allows you to change the user agent string
|
||||
;nat=no ; NAT settings
|
||||
; yes = Always ignore info and assume NAT
|
||||
|
||||
Reference in New Issue
Block a user