Specify RFC2833 payload on dtmfmode option rather than dtmfcodec option (deprecated)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
d62390a65c
commit
1af96a0b21
|
@ -1247,21 +1247,37 @@ static struct oh323_alias *realtime_alias(const char *alias)
|
||||||
static int update_common_options(struct ast_variable *v, struct call_options *options)
|
static int update_common_options(struct ast_variable *v, struct call_options *options)
|
||||||
{
|
{
|
||||||
int tmp;
|
int tmp;
|
||||||
|
char *val, *opt;
|
||||||
|
|
||||||
if (!strcasecmp(v->name, "allow")) {
|
if (!strcasecmp(v->name, "allow")) {
|
||||||
ast_parse_allow_disallow(&options->prefs, &options->capability, v->value, 1);
|
ast_parse_allow_disallow(&options->prefs, &options->capability, v->value, 1);
|
||||||
} else if (!strcasecmp(v->name, "disallow")) {
|
} else if (!strcasecmp(v->name, "disallow")) {
|
||||||
ast_parse_allow_disallow(&options->prefs, &options->capability, v->value, 0);
|
ast_parse_allow_disallow(&options->prefs, &options->capability, v->value, 0);
|
||||||
} else if (!strcasecmp(v->name, "dtmfmode")) {
|
} else if (!strcasecmp(v->name, "dtmfmode")) {
|
||||||
|
val = strdupa(v->value);
|
||||||
|
if ((opt = strchr(val, ':')) != (char *)NULL) {
|
||||||
|
*opt++ = '\0';
|
||||||
|
tmp = atoi(opt);
|
||||||
|
}
|
||||||
if (!strcasecmp(v->value, "inband")) {
|
if (!strcasecmp(v->value, "inband")) {
|
||||||
options->dtmfmode |= H323_DTMF_INBAND;
|
options->dtmfmode |= H323_DTMF_INBAND;
|
||||||
} else if (!strcasecmp(v->value, "rfc2833")) {
|
} else if (!strcasecmp(val, "rfc2833")) {
|
||||||
options->dtmfmode |= H323_DTMF_RFC2833;
|
options->dtmfmode |= H323_DTMF_RFC2833;
|
||||||
|
if (!opt)
|
||||||
|
options->dtmfcodec = H323_DTMF_RFC2833_PT;
|
||||||
|
else if ((tmp >= 96) && (tmp < 128))
|
||||||
|
options->dtmfcodec = tmp;
|
||||||
|
else {
|
||||||
|
options->dtmfcodec = H323_DTMF_RFC2833_PT;
|
||||||
|
ast_log(LOG_WARNING, "Unknown rfc2833 payload %s specified at line %d, using default %d\n", opt, v->lineno, options->dtmfcodec);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ast_log(LOG_WARNING, "Unknown dtmf mode '%s', using rfc2833\n", v->value);
|
ast_log(LOG_WARNING, "Unknown dtmf mode '%s', using rfc2833\n", v->value);
|
||||||
options->dtmfmode |= H323_DTMF_RFC2833;
|
options->dtmfmode |= H323_DTMF_RFC2833;
|
||||||
|
options->dtmfcodec = H323_DTMF_RFC2833_PT;
|
||||||
}
|
}
|
||||||
} else if (!strcasecmp(v->name, "dtmfcodec")) {
|
} else if (!strcasecmp(v->name, "dtmfcodec")) {
|
||||||
|
ast_log(LOG_NOTICE, "Option %s at line %d is deprecated. Use dtmfmode=rfc2833[:<payload>] instead.\n", v->name, v->lineno);
|
||||||
tmp = atoi(v->value);
|
tmp = atoi(v->value);
|
||||||
if (tmp < 96)
|
if (tmp < 96)
|
||||||
ast_log(LOG_WARNING, "Invalid %s value %s at line %d\n", v->name, v->value, v->lineno);
|
ast_log(LOG_WARNING, "Invalid %s value %s at line %d\n", v->name, v->value, v->lineno);
|
||||||
|
|
|
@ -35,9 +35,9 @@ port = 1720
|
||||||
; Default RTP Payload to send RFC2833 DTMF on. This is used to
|
; Default RTP Payload to send RFC2833 DTMF on. This is used to
|
||||||
; interoperate with broken gateways which cannot successfully
|
; interoperate with broken gateways which cannot successfully
|
||||||
; negotiate a RFC2833 payload type in the TerminalCapabilitySet.
|
; negotiate a RFC2833 payload type in the TerminalCapabilitySet.
|
||||||
;
|
; To specify required payload type, put it after colon in dtmfmode
|
||||||
; You may also specify on either a per-peer or per-user basis below.
|
; option like
|
||||||
;dtmfcodec=101
|
;dtmfmode=rfc2833:101
|
||||||
;
|
;
|
||||||
; Set the gatekeeper
|
; Set the gatekeeper
|
||||||
; DISCOVER - Find the Gk address using multicast
|
; DISCOVER - Find the Gk address using multicast
|
||||||
|
|
Loading…
Reference in New Issue