From ce87d2977f6342fe2a351f7d473c4acf187b94a5 Mon Sep 17 00:00:00 2001 From: Mark Spencer <markster@digium.com> Date: Tue, 28 Dec 2004 21:32:25 +0000 Subject: [PATCH] Make cidrings configurable (bug #2889) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4574 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_zap.c | 9 ++++++++- configs/zapata.conf.sample | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 8d2a321d92..f45a4f3275 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -277,6 +277,9 @@ static int hanguponpolarityswitch = 0; /* How long (ms) to ignore Polarity Switch events after we answer a call */ static int polarityonanswerdelay = 600; +/* When to send the CallerID signals (rings) */ +static int sendcalleridafter = DEFAULT_CIDRINGS; + /* Protect the monitoring thread, so only one process can kill or start it, and not when it's doing something critical. */ AST_MUTEX_DEFINE_STATIC(monlock); @@ -566,6 +569,7 @@ static struct zt_pvt { int hanguponpolarityswitch; int polarityonanswerdelay; struct timeval polaritydelaytv; + int sendcalleridafter; #ifdef ZAPATA_PRI struct zt_pri *pri; struct zt_pvt *bearer; @@ -1567,7 +1571,7 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout) } else { if (ioctl(p->subs[SUB_REAL].zfd, ZT_SETCADENCE, NULL)) ast_log(LOG_WARNING, "Unable to reset default ring on '%s'\n", ast->name); - p->cidrings = DEFAULT_CIDRINGS; + p->cidrings = p->sendcalleridafter; } @@ -6652,6 +6656,7 @@ static struct zt_pvt *mkintf(int channel, int signalling, int radio, struct zt_p tmp->polarityonanswerdelay = polarityonanswerdelay; tmp->hanguponpolarityswitch = hanguponpolarityswitch; + tmp->sendcalleridafter = sendcalleridafter; } if (tmp && !here) { @@ -9809,6 +9814,8 @@ static int setup_zap(int reload) polarityonanswerdelay = atoi(v->value); } else if (!strcasecmp(v->name, "hanguponpolarityswitch")) { hanguponpolarityswitch = ast_true(v->value); + } else if (!strcasecmp(v->name, "sendcalleridafter")) { + sendcalleridafter = atoi(v->value); } } else ast_log(LOG_WARNING, "Ignoring %s\n", v->name); diff --git a/configs/zapata.conf.sample b/configs/zapata.conf.sample index e65ff7c0a4..60095e61e1 100755 --- a/configs/zapata.conf.sample +++ b/configs/zapata.conf.sample @@ -186,6 +186,13 @@ callwaiting=yes ; usecallingpres=yes ; +; Some countries (UK) have ring tones with different ring tones (ring-ring), +; which means the callerid needs to be set later on, and not just after +; the first ring, as per the default. +; +;sendcalleridafter=1 +; +; ; Support Caller*ID on Call Waiting ; callwaitingcallerid=yes -- GitLab