diff --git a/libpri.h b/libpri.h index 097f309..878a3f2 100755 --- a/libpri.h +++ b/libpri.h @@ -295,6 +295,7 @@ typedef struct pri_event_facname { } pri_event_facname; #define PRI_CALLINGPLANANI +#define PRI_CALLINGPLANRDNIS typedef struct pri_event_ring { int e; int channel; /* Channel requested */ @@ -310,6 +311,7 @@ typedef struct pri_event_ring { char redirectingnum[256]; /* Redirecting number */ char redirectingname[256]; /* Redirecting name */ int redirectingreason; /* Reason for redirect */ + int callingplanrdnis; /* Dialing plan of Redirecting Number */ char useruserinfo[256]; /* User->User info */ int flexible; /* Are we flexible with our channel selection? */ int cref; /* Call Reference Number */ @@ -322,6 +324,7 @@ typedef struct pri_event_ring { int progressmask; char origcalledname[256]; char origcallednum[256]; + int callingplanorigcalled; /* Dialing plan of Originally Called Number */ int origredirectingreason; } pri_event_ring; diff --git a/q931.c b/q931.c index f031630..74ddd44 100755 --- a/q931.c +++ b/q931.c @@ -3210,6 +3210,8 @@ int q931_receive(struct pri *pri, q931_h *h, int len) pri->ev.ring.callingpres = c->callerpres; pri->ev.ring.callingplan = c->callerplan; pri->ev.ring.callingplanani = c->callerplanani; + pri->ev.ring.callingplanrdnis = c->redirectingplan; + pri->ev.ring.callingplanorigcalled = c->origcalledplan; pri->ev.ring.ani2 = c->ani2; libpri_copy_string(pri->ev.ring.callingani, c->callerani, sizeof(pri->ev.ring.callingani)); libpri_copy_string(pri->ev.ring.callingnum, c->callernum, sizeof(pri->ev.ring.callingnum));