mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-27 14:41:58 +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) {
|
switch(condition) {
|
||||||
case AST_CONTROL_RINGING:
|
case AST_CONTROL_RINGING:
|
||||||
if (ast->_state == AST_STATE_RING) {
|
if (ast->_state == AST_STATE_RING) {
|
||||||
/* Send 180 ringing no matter what */
|
if (!p->progress || !p->progressinband) {
|
||||||
transmit_response(p, "180 Ringing", &p->initreq);
|
/* Send 180 ringing if out-of-band seems reasonable */
|
||||||
if (!p->progress) {
|
transmit_response(p, "180 Ringing", &p->initreq);
|
||||||
p->ringing = 1;
|
p->ringing = 1;
|
||||||
if (!p->progressinband)
|
if (!p->progressinband > 1)
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
/* Oops, we've sent progress tones. Some devices don't seem to
|
/* Well, if it's not reasonable, just send in-band */
|
||||||
handle a 180 after a 183, so we'll go ahead and send the
|
|
||||||
ringback in-band, too. */
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
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")) {
|
} else if (!strcasecmp(v->name, "useclientcode")) {
|
||||||
user->useclientcode = ast_true(v->value);
|
user->useclientcode = ast_true(v->value);
|
||||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
} 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
|
#ifdef OSP_SUPPORT
|
||||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||||
if (!strcasecmp(v->value, "exclusive")) {
|
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")) {
|
} else if (!strcasecmp(v->name, "trustrpid")) {
|
||||||
peer->trustrpid = ast_true(v->value);
|
peer->trustrpid = ast_true(v->value);
|
||||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
} 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
|
#ifdef OSP_SUPPORT
|
||||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||||
if (!strcasecmp(v->value, "exclusive")) {
|
if (!strcasecmp(v->value, "exclusive")) {
|
||||||
@@ -8625,7 +8633,12 @@ static int reload_config(void)
|
|||||||
} else if (!strcasecmp(v->name, "trustrpid")) {
|
} else if (!strcasecmp(v->name, "trustrpid")) {
|
||||||
global_trustrpid = ast_true(v->value);
|
global_trustrpid = ast_true(v->value);
|
||||||
} else if (!strcasecmp(v->name, "progressinband")) {
|
} 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
|
#ifdef OSP_SUPPORT
|
||||||
} else if (!strcasecmp(v->name, "ospauth")) {
|
} else if (!strcasecmp(v->name, "ospauth")) {
|
||||||
if (!strcasecmp(v->value, "exclusive")) {
|
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)
|
; when we're on hold (must be > rtptimeout)
|
||||||
;trustrpid = no ; If Remote-Party-ID should be trusted
|
;trustrpid = no ; If Remote-Party-ID should be trusted
|
||||||
;progressinband=no ; If we should generate in-band ringing always
|
;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
|
;useragent=Asterisk PBX ; Allows you to change the user agent string
|
||||||
;nat=no ; NAT settings
|
;nat=no ; NAT settings
|
||||||
; yes = Always ignore info and assume NAT
|
; yes = Always ignore info and assume NAT
|
||||||
|
|||||||
Reference in New Issue
Block a user