Index: channels/chan_dahdi.c =================================================================== --- channels/chan_dahdi.c (revision 125275) +++ channels/chan_dahdi.c (working copy) @@ -7241,6 +7241,7 @@ } tmp->law = p.curlaw; tmp->span = p.spanno; + tmp->inalarm = (p.chan_alarms != 0); span = p.spanno - 1; } else { if (channel == CHAN_PSEUDO) @@ -7562,10 +7563,12 @@ ioctl(tmp->subs[SUB_REAL].dfd,DAHDI_SETTONEZONE,&tmp->tonezone); #ifdef HAVE_PRI /* the dchannel is down so put the channel in alarm */ - if (tmp->pri && !pri_is_up(tmp->pri)) - tmp->inalarm = 1; - else - tmp->inalarm = 0; + if (tmp->pri) { + if(!pri_is_up(tmp->pri)) + tmp->inalarm = 1; + else + tmp->inalarm = 0; + } #endif memset(&si, 0, sizeof(si)); if (ioctl(tmp->subs[SUB_REAL].dfd,DAHDI_SPANSTAT,&si) == -1) {