X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=cause.c;h=c1514dadf6c022b31773ef8a3684c42f9852aa08;hp=42fdb29bb4610adf3c9b29f6b30bd5ca1539047c;hb=79bd731c0db3e3202cfeed2af3fb217ae744b70f;hpb=ef3fc1931a2fa82f482d21fb1296735206463d3a diff --git a/cause.c b/cause.c index 42fdb29..c1514da 100644 --- a/cause.c +++ b/cause.c @@ -9,10 +9,13 @@ ** ** \*****************************************************************************/ -#include "stdio.h" -#include "sys/types.h" -#include "string.h" -#include "main.h" +#include +#include +#include +#include +#include "macro.h" +#include "cause.h" +#include "extension.h" struct isdn_cause isdn_cause[128] = { /********************************* - **/ /*38*/ @@ -92,8 +95,8 @@ struct isdn_cause isdn_cause[128] = { "" }, { /*37*/ "", "" }, - { /*38*/ "", - "" }, + { /*38*/ "Network out of order", + "Netz ausser Betrieb" }, { /*39*/ "", "" }, { /*40*/ "", @@ -337,8 +340,7 @@ char *get_isdn_cause(int cause, int location, int type) if (cause<0 || cause>127) cause = 0; - switch(type) - { + switch(type) { case DISPLAY_CAUSE_NUMBER: SPRINT(result, "Cause %d", cause); break; @@ -380,33 +382,31 @@ char *get_isdn_cause(int cause, int location, int type) */ void collect_cause(int *multicause, int *multilocation, int newcause, int newlocation) { - if (newcause == CAUSE_REJECTED) /* call rejected */ - { + if (newcause == CAUSE_REJECTED) { /* call rejected */ *multicause = newcause; *multilocation = newlocation; } else - if (newcause==CAUSE_NORMAL && *multicause!=CAUSE_REJECTED) /* reject via hangup */ - { + if (newcause==CAUSE_NORMAL && *multicause!=CAUSE_REJECTED) { /* reject via hangup */ *multicause = newcause; *multilocation = newlocation; } else - if (newcause==CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) /* busy */ - { + if (newcause==CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) { /* busy */ *multicause = newcause; *multilocation = newlocation; } else - if (newcause==CAUSE_OUTOFORDER && *multicause!=CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) /* no L1 */ - { + if (newcause==CAUSE_OUTOFORDER && *multicause!=CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) { /* no L1 */ *multicause = newcause; *multilocation = newlocation; } else - if (newcause!=CAUSE_NOUSER && *multicause!=CAUSE_OUTOFORDER && *multicause!=CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) /* anything but not 18 */ - { + if (newcause!=CAUSE_NOUSER && *multicause!=CAUSE_OUTOFORDER && *multicause!=CAUSE_BUSY && *multicause!=CAUSE_REJECTED && *multicause!=CAUSE_NORMAL) { /* anything but not 18 */ *multicause = newcause; *multilocation = newlocation; } else - if (newcause==CAUSE_NOUSER && *multicause==CAUSE_NOUSER) /* cause 18, but no cause yet, use the location */ - { + if (newcause==CAUSE_NOUSER && *multicause==CAUSE_NOUSER) { /* cause 18, use the location */ + *multilocation = newlocation; + } else + if (*multicause==0) { /* no cause yet, use newcause (should be 18) */ + *multicause = newcause; *multilocation = newlocation; } }