diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-13 23:07:50 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-13 23:07:50 +0000 |
commit | b5cbc90b527a61223e177312f508ae8781bd1014 (patch) | |
tree | aa10571e29c5a07c62625866ddc6ab2ac97f0ea4 | |
parent | 3a9df15ca031ae95e53bdd2e3117e7df50c03c25 (diff) |
Add pulse dial support
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3774 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/chan_zap.c | 10 | ||||
-rwxr-xr-x | configs/zapata.conf.sample | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 52cb22fd8..02bed9992 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -203,6 +203,8 @@ static int echocancel; static int echotraining; +static int pulse; + static int echocanbridged = 0; static int busydetect = 0; @@ -489,6 +491,7 @@ static struct zt_pvt { int callwaitrings; int echocancel; int echotraining; + int pulse; int echocanbridged; int echocanon; int echobreak; @@ -1669,6 +1672,9 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout) if (p->sig == SIG_FEATB) { snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "M*%s#", c + p->stripmsd); } else + if(p->pulse) + snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "P%sw", c + p->stripmsd); + else snprintf(p->dop.dialstr, sizeof(p->dop.dialstr), "T%sw", c + p->stripmsd); if (p->echotraining && (strlen(p->dop.dialstr) > 4)) { memset(p->echorest, 'w', sizeof(p->echorest) - 1); @@ -6173,6 +6179,7 @@ static struct zt_pvt *mkintf(int channel, int signalling, int radio, struct zt_p tmp->callreturn = callreturn; tmp->echocancel = echocancel; tmp->echotraining = echotraining; + tmp->pulse = pulse; tmp->echocanbridged = echocanbridged; tmp->busydetect = busydetect; tmp->busycount = busycount; @@ -8944,6 +8951,8 @@ static int setup_zap(void) echotraining = 0; } else if (!strcasecmp(v->name, "hidecallerid")) { hidecallerid = ast_true(v->value); + } else if (!strcasecmp(v->name, "pulsedial")) { + pulse = ast_true(v->value); } else if (!strcasecmp(v->name, "callreturn")) { callreturn = ast_true(v->value); } else if (!strcasecmp(v->name, "callwaiting")) { @@ -9838,3 +9847,4 @@ char *key() { return ASTERISK_GPL_KEY; } + diff --git a/configs/zapata.conf.sample b/configs/zapata.conf.sample index efa9cb9ff..28343a9d5 100755 --- a/configs/zapata.conf.sample +++ b/configs/zapata.conf.sample @@ -308,6 +308,10 @@ immediate=no ;callprogress=yes ;progzone=us ; +; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF +; +;pulsedial=yes +; ; For fax detection, uncomment one of the following lines. The default is *OFF* ; ;faxdetect=both |