diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-15 22:11:48 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-15 22:11:48 +0000 |
commit | 9cda6323b5892fb755253b6b2c94909fb9c20d9e (patch) | |
tree | 56186fa5c8ac4fcfc9e0f64e307a34e88a03aff0 /channels/chan_dahdi.c | |
parent | e314b264475adc68a37c1442f3c92ede8897f40d (diff) |
Merged revisions 188647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r188647 | dvossel | 2009-04-15 17:10:04 -0500 (Wed, 15 Apr 2009) | 18 lines
Merged revisions 188646 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r188646 | dvossel | 2009-04-15 17:08:40 -0500 (Wed, 15 Apr 2009) | 12 lines
National prefix inserted even when caller ID not available
When the caller ID is restricted, the expected behavior is for the caller id to be blank. In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank.
(closes issue #13207)
Reported by: shawkris
Patches:
national_prefix.diff uploaded by dvossel (license 671)
Review: http://reviewboard.digium.com/r/220/
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@188648 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r-- | channels/chan_dahdi.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 3bd076828..1ed91867c 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -9694,6 +9694,12 @@ static void ss7_start_call(struct dahdi_pvt *p, struct dahdi_ss7 *linkset) static void ss7_apply_plan_to_number(char *buf, size_t size, const struct dahdi_ss7 *ss7, const char *number, const unsigned nai) { + if (ast_strlen_zero(number)) { /* make sure a number exists so prefix isn't placed on an empty string */ + if (size) { + *buf = '\0'; + } + return; + } switch (nai) { case SS7_NAI_INTERNATIONAL: snprintf(buf, size, "%s%s", ss7->internationalprefix, number); @@ -10601,6 +10607,12 @@ static void apply_plan_to_number(char *buf, size_t size, const struct dahdi_pri snprintf(buf, size, "%s", number); return; } + if (ast_strlen_zero(number)) { /* make sure a number exists so prefix isn't placed on an empty string */ + if (size) { + *buf = '\0'; + } + return; + } switch (plan) { case PRI_INTERNATIONAL_ISDN: /* Q.931 dialplan == 0x11 international dialplan => prepend international prefix digits */ snprintf(buf, size, "%s%s", pri->internationalprefix, number); |