Fix bizarre logic to work as originally intended in q931_notify().

In revision 238: Don't allow notification codes outside of the Q.931 spec
for switches other than EuroISDN.


git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2166 2fbb986a-6c06-0410-b554-c9c1f0a7f128
This commit is contained in:
Richard Mudgett 2010-12-14 00:55:49 +00:00
parent 517e5ac5ce
commit b79b886fc4

7
q931.c
View File

@ -4802,10 +4802,15 @@ int q931_notify_redirection(struct pri *ctrl, q931_call *call, int notify, const
int q931_notify(struct pri *ctrl, q931_call *c, int channel, int info) int q931_notify(struct pri *ctrl, q931_call *c, int channel, int info)
{ {
if ((ctrl->switchtype == PRI_SWITCH_EUROISDN_T1) || (ctrl->switchtype != PRI_SWITCH_EUROISDN_E1)) { switch (ctrl->switchtype) {
case PRI_SWITCH_EUROISDN_T1:
case PRI_SWITCH_EUROISDN_E1:
break;
default:
if ((info > 0x2) || (info < 0x00)) { if ((info > 0x2) || (info < 0x00)) {
return 0; return 0;
} }
break;
} }
if (info >= 0) { if (info >= 0) {