Fix chan_iax2 to not report an RDNIS number if it is blank.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 20 Dec 2011 23:11:29 +0000 (23:11 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 20 Dec 2011 23:11:29 +0000 (23:11 +0000)
Some ISDN switches complain or block the call if the RDNIS number is
empty.

* Made chan_iax2 not save a RDNIS number into the ast_channel if the
string is blank.  This is what other channel drivers do.

(closes issue ASTERISK-17152)
Reported by: rmudgett
........

Merged revisions 348735 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348736 from http://svn.asterisk.org/svn/asterisk/branches/10

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

channels/chan_iax2.c

index 6a4d196..546f207 100644 (file)
@@ -5835,8 +5835,10 @@ static struct ast_channel *ast_iax2_new(int callno, int state, iax2_format capab
                tmp->caller.ani.number.str = ast_strdup(i->cid_num);
        }
        tmp->dialed.number.str = ast_strdup(i->dnid);
-       tmp->redirecting.from.number.valid = 1;
-       tmp->redirecting.from.number.str = ast_strdup(i->rdnis);
+       if (!ast_strlen_zero(i->rdnis)) {
+               tmp->redirecting.from.number.valid = 1;
+               tmp->redirecting.from.number.str = ast_strdup(i->rdnis);
+       }
        tmp->caller.id.name.presentation = i->calling_pres;
        tmp->caller.id.number.presentation = i->calling_pres;
        tmp->caller.id.number.plan = i->calling_ton;