diff -Naur libpri-1.0.7-clean/libpri.h libpri-1.0.7-clean-patched/libpri.h --- libpri-1.0.7-clean/libpri.h 2004-10-27 16:45:07.000000000 +0200 +++ libpri-1.0.7-clean-patched/libpri.h 2005-06-15 11:34:05.000000000 +0200 @@ -308,6 +308,7 @@ typedef struct pri_event_proceeding { int e; int channel; + int cause; } pri_event_proceeding; typedef struct pri_event_setup_ack { diff -Naur libpri-1.0.7-clean/q931.c libpri-1.0.7-clean-patched/q931.c --- libpri-1.0.7-clean/q931.c 2004-10-05 04:19:11.000000000 +0200 +++ libpri-1.0.7-clean-patched/q931.c 2005-06-15 11:40:45.000000000 +0200 @@ -2469,6 +2469,7 @@ case Q931_ALERTING: case Q931_PROGRESS: c->progress = -1; + c->cause = -1; break; case Q931_CONNECT_ACKNOWLEDGE: if (c->retranstimer) @@ -2720,6 +2721,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: