--- chan_mgcp.c 2004-08-11 14:04:58.000000000 -0500 +++ chan_mgcp.c.new 2004-08-11 14:04:53.000000000 -0500 @@ -109,8 +109,10 @@ static char *tdesc = "Media Gateway Control Protocol (MGCP)"; static char *config = "mgcp.conf"; +static char mgcpmode[10] = "rfc3435"; + #define MGCP_DTMF_RFC2833 (1 << 0) -#define MGCP_DTMF_INBAND (1 << 1) +#define MGCP_DTMF_INBAND (1 << 1) #define DEFAULT_MGCP_GW_PORT 2427/* From RFC 2705 */ #define DEFAULT_MGCP_CA_PORT 2727/* From RFC 2705 */ @@ -3472,6 +3474,15 @@ dtmfmode = 0; else ast_log(LOG_WARNING, "'%s' is not a valid DTMF mode at line %d\n", v->value, v->lineno); + } else if (!strcasecmp(v->name, "mgcpmode")) { + if (!strcasecmp(v->value, "draft")) + strncpy(mgcpmode, v->value, sizeof(mgcpmode) - 1); + else if (!strcasecmp(v->value, "rfc2705")) + strncpy(mgcpmode, v->value, sizeof(mgcpmode) - 1); + else if (!strcasecmp(v->value, "rfc3435")) + strncpy(mgcpmode, v->value, sizeof(mgcpmode) - 1); + else + ast_log(LOG_WARNING, "'%s' is not a valid MGCP mode at line %d\n", v->value, v->lineno); } else if (!strcasecmp(v->name, "nat")) { nat = ast_true(v->value); } else if (!strcasecmp(v->name, "callerid")) {