diff options
author | Richard Mudgett <rmudgett@digium.com> | 2010-09-30 19:35:47 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2010-09-30 19:35:47 +0000 |
commit | 8193e24e1a6fc27dc97c7ce31bc6fe4f5532d06a (patch) | |
tree | b70e88ed7bd0404c02194a0ca73b82278292d442 | |
parent | f609c4f13a2e7375daf58208c86123f1ff363e4b (diff) |
Merged revisions 289549 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r289549 | rmudgett | 2010-09-30 14:28:36 -0500 (Thu, 30 Sep 2010) | 17 lines
Merged revision 289547 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
..........
r289547 | rmudgett | 2010-09-30 14:16:36 -0500 (Thu, 30 Sep 2010) | 10 lines
In chan_misdn, the DivertingLegInformation2 DivertingNr is garbage when the number is restricted.
The same thing happens with DivertingLegInformation1 DivertedTo number.
The misdn_PresentedNumberUnscreened_extract() extracted the Unscreened
PartyNumber field unconditionally. It now checks the presented number
unscreened type to see if the PartyNumber was even present.
JIRA ABE-2595
..........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | channels/chan_misdn.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index ed41c25c3..2dee0ee7e 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2454,7 +2454,20 @@ static void misdn_PresentedNumberUnscreened_extract(struct misdn_party_id *id, c { id->presentation = PresentedNumberUnscreened_to_misdn_pres(presented->Type); id->screening = 0;/* unscreened */ - misdn_PartyNumber_extract(id, &presented->Unscreened); + switch (presented->Type) { + case 0:/* presentationAllowedNumber */ + case 3:/* presentationRestrictedNumber */ + misdn_PartyNumber_extract(id, &presented->Unscreened); + break; + case 1:/* presentationRestricted */ + case 2:/* numberNotAvailableDueToInterworking */ + default: + /* Number not present (And uninitialized so do not even look at it!) */ + id->number_type = NUMTYPE_UNKNOWN; + id->number_plan = NUMPLAN_ISDN; + id->number[0] = 0; + break; + } } #endif /* defined(AST_MISDN_ENHANCEMENTS) */ |