]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix for #7321. Be able to explicitly hide callerid name for switches that bork
authorMatthew Fredrickson <creslin@digium.com>
Fri, 10 Nov 2006 19:47:16 +0000 (19:47 +0000)
committerMatthew Fredrickson <creslin@digium.com>
Fri, 10 Nov 2006 19:47:16 +0000 (19:47 +0000)
on it.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47462 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index b035ec4d6ad08399cc3185ac556a46cd5a8eca48..990a4bdf8e82e2acd769f0486555fe6c1a558790 100644 (file)
@@ -238,6 +238,8 @@ static int callwaitingcallerid = 0;
 
 static int hidecallerid = 0;
 
+static int hidecalleridname = 0;
+
 static int restrictcid = 0;
 
 static int use_callingpres = 0;
@@ -576,6 +578,7 @@ static struct zt_pvt {
        unsigned int hanguponpolarityswitch:1;
        unsigned int hardwaredtmf:1;
        unsigned int hidecallerid;
+       unsigned int hidecalleridname;      /*!< Hide just the name not the number for legacy PBX use */
        unsigned int ignoredtmf:1;
        unsigned int immediate:1;                       /*!< Answer before getting digits? */
        unsigned int inalarm:1;
@@ -2078,6 +2081,10 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
                        c++;
                else
                        c = dest;
+               if (!p->hidecalleridname)
+                       n = ast->cid.cid_name;
+               else
+                       n = NULL;
                if (!p->hidecallerid) {
                        l = ast->cid.cid_num;
                        n = ast->cid.cid_name;
@@ -10553,6 +10560,8 @@ static int process_zap(struct ast_variable *v, int reload, int skipchannels)
                                echotraining = 0;
                } else if (!strcasecmp(v->name, "hidecallerid")) {
                        hidecallerid = ast_true(v->value);
+               } else if (!strcasecmp(v->name, "hidecalleridname")) {
+                       hidecalleridname = ast_true(v->value);
                } else if (!strcasecmp(v->name, "pulsedial")) {
                        pulse = ast_true(v->value);
                } else if (!strcasecmp(v->name, "callreturn")) {