diff -Naur libpri/libpri.h libpri-patched/libpri.h --- libpri/libpri.h 2005-05-23 18:51:30.000000000 +0200 +++ libpri-patched/libpri.h 2005-06-15 13:14:07.000000000 +0200 @@ -339,6 +339,7 @@ typedef struct pri_event_proceeding { int e; int channel; + int cause; int cref; int progress; int progressmask; diff -Naur libpri/q931.c libpri-patched/q931.c --- libpri/q931.c 2005-05-29 17:08:23.000000000 +0200 +++ libpri-patched/q931.c 2005-06-15 13:16:52.000000000 +0200 @@ -3176,6 +3176,7 @@ case Q931_CONNECT: case Q931_ALERTING: case Q931_PROGRESS: + c->cause = -1; case Q931_CALL_PROCEEDING: c->progress = -1; c->progressmask = 0; @@ -3448,6 +3449,7 @@ q931_destroycall(pri, c->cr); break; } + pri->ev.proceeding.cause = c->cause; pri->ev.e = PRI_EVENT_PROGRESS; /* Fall through */ case Q931_CALL_PROCEEDING: